@@ -247,7 +247,7 @@ DBusUnitySessionService::DBusUnitySessionService()
247247 QDBusConnection::SM_BUSNAME().connect(LOGIN1_SERVICE, d->logindSessionPath, LOGIN1_SESSION_IFACE, QStringLiteral("Lock"), this, SLOT(PromptLock()));
248248 // ... and our Unlocked() signal to the logind's session Unlock() signal
249249 // (lightdm handles the unlocking by calling logind's Unlock method which in turn emits this signal we connect to)
250− QDBusConnection::SM_BUSNAME().connect(LOGIN1_SERVICE, d->logindSessionPath, LOGIN1_SESSION_IFACE, QStringLiteral("Unlock"), this, SIGNAL(Unlocked()));
250+ QDBusConnection::SM_BUSNAME().connect(LOGIN1_SERVICE, d->logindSessionPath, LOGIN1_SESSION_IFACE, QStringLiteral("Unlock"), this, SLOT(doUnlock()));
251251 connect(d, &DBusUnitySessionServicePrivate::prepareForSleep, this, &DBusUnitySessionService::PromptLock);
252252 } else {
253253 qWarning() << "Failed to connect to logind's session Lock/Unlock signals";
@@ -361,9 +361,8 @@ void DBusUnitySessionService::Lock()
361361 // time the indicator locks without also asking the display manager to
362362 // switch sessions on us. And since we are switching screens, we also
363363 // don't bother respecting the animate request, simply doing a PromptLock.
364− switchToGreeter();
365−
366364 PromptLock();
365+ switchToGreeter();
367366}
368367
369368void DBusUnitySessionService::switchToGreeter()
@@ -392,6 +391,12 @@ void DBusUnitySessionService::switchToGreeter()
392391 });
393392}
394393
394+void DBusUnitySessionService::doUnlock()
395+{
396+ Q_EMIT Unlocked();
397+ Q_EMIT unlocked();
398+}
399+
395400bool DBusUnitySessionService::IsLocked() const
396401{
397402 return !d->isSessionActive;