[Differential] [Commented On] D3479: [libinput] Add more support for touchpads in preparation for the new touchpad KCM

davidedmundson (David Edmundson) noreply at phabricator.kde.org
Wed Nov 30 16:53:03 UTC 2016


davidedmundson added a comment.


  To expand on the DBus problem:
  
  The connection object resides in a thread; but emits stuff from the main thread. 
  DBus is generally thread safe, but QDBusAbstractAdaptor uses sender() in relaying so isn't.
  
  add in a bouncer, things work nicely:
  
    connect(this, &Connection::deviceRemoved, this, [this](Device* device) {
              emit deviceRemovedSysName(device->sysName());
      });   
  
  this gets implicitly queuedconnection as this is emitted in another thread and it all works. Huzzah
  
  However, we still get a tonne of warnings because we're emitting a bunch of other signals, and internally in QDBusAbstractAdaptor we have the warning about checking for threads*before* we see if actually relays the signal.
  
  The only solution I can see is to make an explicit adaptor.
  
  (or we change the KCM side to use org.freedesktop.DBus.ObjectManager and forget putting anything in here)

REPOSITORY
  R108 KWin

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

EMAIL PREFERENCES
  https://phabricator.kde.org/settings/panel/emailpreferences/

To: subdiff, #kwin, #plasma, davidedmundson
Cc: graesslin, davidedmundson, plasma-devel, kwin, #kwin, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20161130/04a9a074/attachment.html>


More information about the Plasma-devel mailing list