diff options
author | Shawn Rutledge <shawn.rutledge@digia.com> | 2016-01-04 15:09:10 +0100 |
---|---|---|
committer | Dmitry Shachnev <mitya57@gmail.com> | 2016-01-05 17:10:43 +0000 |
commit | 2d8b0d1cd566cc0c3ab600650b66cdc771d8314f (patch) | |
tree | 86af9e8ecce51d384acbcd293665945f621d6a16 /src/plugins/platforms/xcb/qxcbdrag.cpp | |
parent | bddccfb839f4164039d929bf4f6a64e882855222 (diff) |
xcb: don't select XInput events on the root window
If we select XInput events, then when the mouse is clicked, there will
not be a fallback to a core pointer event. But a typical Qt application
doesn't own the root window. If the window manager (such as OpenBox,
Awesome or fvwm) relies on receiving core pointer click events, e.g.
to show a desktop menu, then each time a device is hotplugged while a
Qt application is running, we would select XI2 events and thereby
prevent the window manager from receiving them.
QDesktopWidget's native window is added to m_mapper, even when
it isn't mapped. Then after hotplugging there's a hierarchy event,
and that calls xi2Select for every window in m_mapper. The assumption
with this patch is that the root window does need to be in m_mapper
in case the QDesktopWidget is shown (that was done already in Qt 5.1:
fca94fa5ed8321e84e7b0ff515620fbb901db545), but xi2Select must avoid
selecting XI2 events on it to fix this bug.
Task-number: QTBUG-49952
Change-Id: I5c160e879d93fadfce14120ef2e89a4f71d4f599
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbdrag.cpp')
0 files changed, 0 insertions, 0 deletions