systemtray: Check if a service is already added before processing QDBusReply
Due to async nature of QDBusPendingReply, services could be already registered by QDBusServiceWatcher when the pending reply takes a long time to finish, so it's possible that QDBusServiceWatcher::serviceRegistered signal is emitted before the pending reply emits QDBusPendingCallWatcher::finished, which will make the same service added twice and crash plasmashell. We need to check if a service is already added in m_sniServices before processing registered items in QDBusReply. BUG: 443961 (cherry picked from commit c0b8f687)
Loading
Please register or sign in to comment