D5461: Don't update the focused pointer Surface if a button is pressed
Martin Gräßlin
noreply at phabricator.kde.org
Sat Apr 15 09:42:07 UTC 2017
graesslin created this revision.
Restricted Application added a project: KWin.
Restricted Application added subscribers: kwin, plasma-devel.
REVISION SUMMARY
During pointer motion we already had the condition that an update of
focused pointer surface can only happen when no button is pressed. But
there are more conditions where we try to update the focused pointer even
if a button is pressed. E.g. if the stacking order changes.
This happens when trying to move one of Qt's dock widgets:
1. Press inside a dock widget
2. Qt opens another window, which is underneath the cursor
3. KWin sends pointer leave to parent window
4. dock widget movement breaks
This change ensures that also this sequence works as expected and the
pointer gets only updated when there are no buttons pressed, no matter
from where we go into the update code path.
BUG: 372876
TEST PLAN
Dock widgets in Dolphin can be moved now.
REPOSITORY
R108 KWin
BRANCH
no-pointer-update-when-buttons-pressed
REVISION DETAIL
https://phabricator.kde.org/D5461
AFFECTED FILES
autotests/integration/pointer_input.cpp
input.cpp
pointer_input.cpp
To: graesslin, #kwin, #plasma
Cc: plasma-devel, kwin, spstarr, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170415/c5a68c80/attachment.html>
More information about the Plasma-devel
mailing list