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