[Bug 305614] contactlist does not detect Presence widget in the panel

David Edmundson david at davidedmundson.co.uk
Wed Aug 22 18:39:27 BST 2012


https://bugs.kde.org/show_bug.cgi?id=305614

David Edmundson <david at davidedmundson.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEEDSINFO                   |NEW
         Resolution|WAITINGFORINFO              |---
     Ever confirmed|0                           |1

--- Comment #3 from David Edmundson <david at davidedmundson.co.uk> ---
It's not about finding a workaround it's about finding exactly where the bug
is.

To reproduce:
 - add two presence widgets
 - remove the first one

Service is not registered.

Fairly minor bug as it's hard to produce accidentally and will fix itself when
you next restart, but it does highlight a bug that we will face later.

The reason it breaks is that when the second applet is constructed the call to 
QDBusConnection::sessionBus().registerService("org.kde.Telepathy.PresenceAppletActive");
does nothing as the service is already registered.

There is an alternate way of registering services that queues the services,
which means the second one will take over when the first one is deleted. We
should switch to this.
http://qt-project.org/doc/qt-4.8/qdbusconnectioninterface.html#registerService

Alternately, we make m_dbusExporter static + ref counted, thus shared between
all instances of plasmoids.

I prefer the first solution, as it allows for anything to claim to be a
presence provider and the contact list won't show the message/disconnect. Such
as if we mixed presence control into the contact list applet for example.

This was discussed with Will Thompson (of main Telepathy fame) once, and we had
an idea to have an org.freedesktop.Telepathy.PresenceProvider which would
always be registered as a queued service. When the service unregistered MC
would kill all connections itself. Providing a universal way to disconnect
everything when all UI controls disappeared. AFAIK nothing materialised from
this, and I've not chased it up since

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the Kde-telepathy-bugs mailing list