Properly check for systray being available
The "org.kde.StatusNotifierWatcher" is just a watcher/helper, not the
actual systray object, that's "org.kde.StatusNotifierHost-$PID". Because
Plasma appends the PID (as per the specification), we cannot check
directly for it being present on the bus, so we check the
org.kde.StatusNotifierWatcher.IsStatusNotifierHostRegistered property
that's meant to be used for this.
Plus QSystemTrayIcon::isSystemTrayAvailable() is actually returning
always true, because the Watcher is in kded and is /always/ present.
This also fixes many apps with KSNI crashing on plasma exit, bug 339707
(though I believe this is not the direct cause for that bug)
REVIEW: 121885
BUG: 339707
CHANGELOG