diff --git a/src/kstatusnotifieritemdbus_p.h b/src/kstatusnotifieritemdbus_p.h --- a/src/kstatusnotifieritemdbus_p.h +++ b/src/kstatusnotifieritemdbus_p.h @@ -223,7 +223,7 @@ private: KStatusNotifierItem *m_statusNotifierItem; - QString m_service; + QString m_connId; QDBusConnection m_dbus; static int s_serviceCount; }; diff --git a/src/kstatusnotifieritemdbus_p.cpp b/src/kstatusnotifieritemdbus_p.cpp --- a/src/kstatusnotifieritemdbus_p.cpp +++ b/src/kstatusnotifieritemdbus_p.cpp @@ -149,36 +149,22 @@ KStatusNotifierItemDBus::KStatusNotifierItemDBus(KStatusNotifierItem *parent) : QObject(parent), m_statusNotifierItem(parent), - m_service(QStringLiteral("org.kde.StatusNotifierItem-%1-%2") + m_connId(QStringLiteral("org.kde.StatusNotifierItem-%1-%2") .arg(QCoreApplication::applicationPid()) .arg(++s_serviceCount)), - m_dbus(QDBusConnection(m_service)) -{ - bool inSandbox = false; - if (!qEnvironmentVariableIsEmpty("XDG_RUNTIME_DIR")) { - const QByteArray runtimeDir = qgetenv("XDG_RUNTIME_DIR"); - if (!runtimeDir.isEmpty()) { - inSandbox = QFileInfo::exists(QString::fromUtf8(runtimeDir) + QLatin1String("/flatpak-info")); - } - } - - if (inSandbox) { - m_service = QStringLiteral("org.kde.StatusNotifierItem-%1-%2").arg(QCoreApplication::applicationName()).arg(s_serviceCount); - } - - m_dbus = QDBusConnection::connectToBus(QDBusConnection::SessionBus, m_service); + m_dbus(QDBusConnection(m_connId)) +{ + m_dbus = QDBusConnection::connectToBus(QDBusConnection::SessionBus, m_connId); new StatusNotifierItemAdaptor(this); - qCDebug(LOG_KNOTIFICATIONS) << "service is" << m_service; - m_dbus.registerService(m_service); + qCDebug(LOG_KNOTIFICATIONS) << "service is" << m_connId; m_dbus.registerObject(QStringLiteral("/StatusNotifierItem"), this); } KStatusNotifierItemDBus::~KStatusNotifierItemDBus() { m_dbus.unregisterObject(QStringLiteral("/StatusNotifierItem")); - m_dbus.unregisterService(m_service); - m_dbus.disconnectFromBus(m_service); + m_dbus.disconnectFromBus(m_connId); } QDBusConnection KStatusNotifierItemDBus::dbusConnection() const @@ -188,7 +174,7 @@ QString KStatusNotifierItemDBus::service() const { - return m_service; + return m_dbus.baseService(); } bool KStatusNotifierItemDBus::ItemIsMenu() const