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

Nate Graham <n...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
   Version Fixed In|5.19.1                      |5.24.5
      Latest Commit|https://invent.kde.org/plas |https://invent.kde.org/plas
                   |ma/plasma-workspace/-/commi |ma/plasma-workspace/commit/
                   |t/1c3dc48629d1b27df93244147 |ff834fc96548a0d61def108dea6
                   |f0a52a65dd8c0c9             |f229437c6c8d7
             Status|CONFIRMED                   |RESOLVED

--- Comment #96 from Nate Graham <n...@kde.org> ---
Git commit ff834fc96548a0d61def108dea6f229437c6c8d7 by Nate Graham, on behalf
of Jolene K.
Committed on 20/04/2022 at 15:32.
Pushed by ngraham into branch 'master'.

systemtray: Fix race in DBusServiceObserver

When a service appears right after the ListNames() call finished, but
before the QDBusPendingCallWatcher is set up, the ::serviceRegistered
signal will be queued before the ListNames() response. As a result,
the service will be ignored by DBusServiceObserver.

Switching to QDBusInterface::callWithCallback() ensures that the
result slot is queued as soon as the response arrives, thus avoiding
the race.

Credits go to Sam Edwards for identifying the problem in
https://bugs.kde.org/show_bug.cgi?id=422111#c69
FIXED-IN: 5.24.5

M  +38   -26   applets/systemtray/dbusserviceobserver.cpp
M  +7    -2    applets/systemtray/dbusserviceobserver.h

https://invent.kde.org/plasma/plasma-workspace/commit/ff834fc96548a0d61def108dea6f229437c6c8d7

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

Reply via email to