XCB: Only use the XFixes extension if available
Commit 0d4918950e61f added a new place (QXcbWindow::setTransparentForMouseEvents()) where requests from the XFixes extension are generated. However, this wasn't checking if the extension is actually supported before using it. Fix this by turning QXcbWindow::setTransparentForMouseEvents() into a no-op if the XFixes extension isn't available. This means that the window in question won't be transparent for mouse events, but we cannot do much about that if the X server doesn't support the required extension. Task-number: QTBUG-38109 Change-Id: I2931481eb71bab990f2dcf0ec600b9e62d3d799c Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
This commit is contained in:
parent
e14ef58f3d
commit
e215aba4aa
@ -1174,7 +1174,7 @@ void QXcbWindow::updateNetWmUserTime(xcb_timestamp_t timestamp)
|
||||
|
||||
void QXcbWindow::setTransparentForMouseEvents(bool transparent)
|
||||
{
|
||||
if (transparent == m_transparent)
|
||||
if (!connection()->hasXFixes() || transparent == m_transparent)
|
||||
return;
|
||||
|
||||
xcb_rectangle_t rectangle;
|
||||
|
Loading…
x
Reference in New Issue
Block a user