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