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