D5733: Keep all touchpad QActions in the main thread

David Edmundson noreply at phabricator.kde.org
Sat May 6 23:42:06 UTC 2017


davidedmundson created this revision.
Restricted Application added a project: KWin.
Restricted Application added subscribers: KWin, kwin, plasma-devel.

REVISION SUMMARY
  Making QActions with the Connection as a parent is dangerous as it gets
  moved to a new thread, moving all child objects to that thread.
  
  KGlobalAccel and QAction aren't thread safe and we shouldn't be using it
  in two threads. This was notably seen when runnng invokeShortcut over
  DBus which then invokes it on the main thread. Something my laptop was
  doing when I closed the lid.
  
  This patch simply moves the code to the Input class, where we set up the
  libinput connection.

TEST PLAN
  Closed lid, kwin_wayland was still there when I resumed
  Set manual shortcut for toggling touchpad, that still worked

REPOSITORY
  R108 KWin

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D5733

AFFECTED FILES
  input.cpp
  libinput/connection.cpp
  libinput/connection.h

To: davidedmundson, #plasma
Cc: plasma-devel, kwin, #kwin, ZrenBot, spstarr, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, lukas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170506/d713b739/attachment.html>


More information about the Plasma-devel mailing list