@@ -31,17 +31,19 @@ SessionManager::SessionManager(QObject* parent)
31 "/org/freedesktop/login1",
31 "/org/freedesktop/login1",
32 "org.freedesktop.login1.Manager",
32 "org.freedesktop.login1.Manager",
33 QDBusConnection::SM_BUSNAME(), this);
33 QDBusConnection::SM_BUSNAME(), this);
34− if (l1_manager->isValid()) {
34+ if (l1_manager->isValid() && QString(qgetenv("XDG_SESSION_ID")) != "") {
35 QDBusPendingCall pcall = l1_manager->asyncCall("GetSession", QString(qgetenv("XDG_SESSION_ID")));
35 QDBusPendingCall pcall = l1_manager->asyncCall("GetSession", QString(qgetenv("XDG_SESSION_ID")));
36 QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pcall, this);
36 QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pcall, this);
37 QObject::connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher*)),
37 QObject::connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher*)),
38 this, SLOT(getSessionSlot(QDBusPendingCallWatcher*)));
38 this, SLOT(getSessionSlot(QDBusPendingCallWatcher*)));
41+ if (QString(qgetenv("XDG_SESSION_PATH")) != "") {
41− ldm_session = new QDBusInterface("org.freedesktop.DisplayManager",
42+ ldm_session = new QDBusInterface("org.freedesktop.DisplayManager",
42− QString(qgetenv("XDG_SESSION_PATH")),
43+ QString(qgetenv("XDG_SESSION_PATH")),
43− "org.freedesktop.DisplayManager.Session",
44+ "org.freedesktop.DisplayManager.Session",
44− QDBusConnection::SM_BUSNAME(), this);
45+ QDBusConnection::SM_BUSNAME(), this);
47bool SessionManager::active() const
49bool SessionManager::active() const