on xenial help sign in
register the screensaver iface also on the compat /ScreenSaver path
1b4804eLukáš Tinkl
plugins/Unity/Session/dbusunitysessionservice.cpp+1
@@ -432,6 +432,7 @@ void DBusGnomeScreensaverWrapper::SimulateUserActivity()
432DBusScreensaverWrapper::DBusScreensaverWrapper()
432DBusScreensaverWrapper::DBusScreensaverWrapper()
433 : UnityDBusObject("/org/freedesktop/ScreenSaver", "org.freedesktop.ScreenSaver")
433 : UnityDBusObject("/org/freedesktop/ScreenSaver", "org.freedesktop.ScreenSaver")
434{
434{
435+ QDBusConnection::sessionBus().registerObject("/ScreenSaver", this, QDBusConnection::ExportScriptableContents); // compat path, also register here
435 connect(d, &DBusUnitySessionServicePrivate::screensaverActiveChanged, this, &DBusScreensaverWrapper::ActiveChanged);
436 connect(d, &DBusUnitySessionServicePrivate::screensaverActiveChanged, this, &DBusScreensaverWrapper::ActiveChanged);
436}
437}
437
438
tests/plugins/Unity/Session/sessionbackendtest.cpp+5−1
@@ -159,8 +159,12 @@ private Q_SLOTS:
159// void testLock() {
159// void testLock() {
160// DBusUnitySessionService dbusUnitySessionService;
160// DBusUnitySessionService dbusUnitySessionService;
161// DBusScreensaverWrapper saverIface;
161// DBusScreensaverWrapper saverIface;
162+// QDBusInterface saverCompatIface("org.freedesktop.ScreenSaver", "/ScreenSaver", "org.freedesktop.ScreenSaver", QDBusConnection::sessionBus());
162// QSignalSpy spy(&saverIface, &DBusScreensaverWrapper::ActiveChanged);
163// QSignalSpy spy(&saverIface, &DBusScreensaverWrapper::ActiveChanged);
163// QCoreApplication::processEvents(); // to let the service register on DBus
164// QCoreApplication::processEvents(); // to let the service register on DBus
165+
166+// QTRY_COMPARE(saverCompatIface.isValid(), true);
167+
164// qDebug() << "Locking up...";
168// qDebug() << "Locking up...";
165// dbusUnitySessionService.Lock();
169// dbusUnitySessionService.Lock();
166
170
@@ -174,7 +178,7 @@ private Q_SLOTS:
174// sleep(5);
178// sleep(5);
175// qDebug() << "Screensaver has been active for" << saverIface.GetActiveTime() << "seconds";
179// qDebug() << "Screensaver has been active for" << saverIface.GetActiveTime() << "seconds";
176// qDebug() << "Session has been idle for" << saverIface.GetSessionIdleTime() << "seconds";
180// qDebug() << "Session has been idle for" << saverIface.GetSessionIdleTime() << "seconds";
177−// }
181+ }
178
182
179private:
183private:
180 QDBusInterface *dbusUnitySession;
184 QDBusInterface *dbusUnitySession;