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

Konrad Materka <mate...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #125539|0                           |1
        is obsolete|                            |
 Attachment #125540|0                           |1
        is obsolete|                            |

--- Comment #16 from Konrad Materka <mate...@gmail.com> ---
Created attachment 125558
  --> https://bugs.kde.org/attachment.cgi?id=125558&action=edit
session bus monitor logs (cleared)

My investigation:

There are 3 parties involved:
:1.10 = org.kde.StatusNotifierWatcher
:1.33 = org.freedesktop.Notifications = com.canonical.Unity = plasmashell
:1.763 - Telegram

Tray icon is created twice:
> Sender=:1.33  Destination=org.kde.StatusNotifierWatcher  
> Path=/StatusNotifierWatcher  Interface=org.kde.StatusNotifierWatcher  
> Member=RegisterStatusNotifierItem -> ":1.765"
> Sender=:1.763  Destination=org.kde.StatusNotifierWatcher  
> Path=/StatusNotifierWatcher  Interface=org.kde.StatusNotifierWatcher  
> Member=RegisterStatusNotifierItem -> ":1.766"

The ":1.765" is immediately destroyed. I was able to observe similar behavior
with snap package on my computer to.

There is a race condition, if service is destroyed too soon,
StatusNotifierWatcher can't notice it. From StatusNotifierWatcher cpp:

//check if the service has registered a SystemTray object
org::kde::StatusNotifierItem trayclient(service, path,
QDBusConnection::sessionBus());
if (trayclient.isValid()) { // it exists here
    m_registeredServices.append(notifierItemId); // it dies here
    m_serviceWatcher->addWatchedService(service); // it is dead by now, no
chance to get notification
    emit StatusNotifierItemRegistered(notifierItemId);
}

Race condition is a problem on it's own, but bigger issue is: why plasmashell
is creating SNI? For a brief moment there a SNI object with hidden menu with
only one item: toggled checkbox.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to