Skip to content
  • David Edmundson's avatar
    Keep all touchpad QActions in the main thread · fe231be5
    David Edmundson authored
    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
    
    Reviewers: #plasma
    
    Subscribers: plasma-devel, kwin, #kwin
    
    Tags: #kwin
    
    Differential Revision: https://phabricator.kde.org/D5733
    fe231be5