summaryrefslogtreecommitdiffstats
path: root/kdesktop/lockeng.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kdesktop/lockeng.cpp')
-rw-r--r--kdesktop/lockeng.cpp51
1 files changed, 16 insertions, 35 deletions
diff --git a/kdesktop/lockeng.cpp b/kdesktop/lockeng.cpp
index 3de190484..fc3c9db6e 100644
--- a/kdesktop/lockeng.cpp
+++ b/kdesktop/lockeng.cpp
@@ -63,7 +63,7 @@ static void sigusr1_handler(int)
{
if (gbl_saverEngineEventHandler)
{
- gbl_saverEngineEventHandler->lockProcessExited();
+ gbl_saverEngineEventHandler->lockCompleted();
}
}
@@ -71,7 +71,7 @@ static void sigusr2_handler(int)
{
if (gbl_saverEngineEventHandler)
{
- gbl_saverEngineEventHandler->lockProcessFullyActivated();
+ gbl_saverEngineEventHandler->lockFullyActivated();
}
}
@@ -79,7 +79,7 @@ static void sigttin_handler(int)
{
if (gbl_saverEngineEventHandler)
{
- gbl_saverEngineEventHandler->lockProcessReady();
+ gbl_saverEngineEventHandler->lockReady();
}
}
@@ -108,7 +108,7 @@ SaverEngine::SaverEngine()
mSignalAction.sa_flags = 0;
sigaction(SIGUSR2, &mSignalAction, 0L);
- // handle SIGTTIN
+ // handle SIGTTIN (as custom user signal rather than its inherent meaning)
mSignalAction.sa_handler= sigttin_handler;
sigemptyset(&(mSignalAction.sa_mask));
sigaddset(&(mSignalAction.sa_mask), SIGTTIN);
@@ -502,28 +502,6 @@ void SaverEngine::lockProcessFullyActivatedGUI()
}
}
-void SaverEngine::lockProcessWaitingGUI()
-{
- emitDCOPSignal("KDE_stop_screensaver()", TQByteArray());
- if (mEnabled)
- {
- if (mXAutoLock)
- {
- mXAutoLock->start();
- }
- XForceScreenSaver(tqt_xdisplay(), ScreenSaverReset);
- XSetScreenSaver(tqt_xdisplay(), mTimeout + 10, mXInterval, PreferBlanking, mXExposures);
- }
- processLockTransactions();
-
- if (systemdSession && systemdSession->canSend())
- {
- TQValueList<TQT_DBusData> params;
- params << TQT_DBusData::fromBool(false);
- TQT_DBusMessage reply = systemdSession->sendWithReply("SetIdleHint", params);
- }
-}
-
// XAutoLock has detected the required idle time.
void SaverEngine::idleTimeout()
{
@@ -750,30 +728,30 @@ void SaverEngineEventHandler::terminateLockProcess()
m_lockProcess.detach(); // don't kill it if we crash
}
-void SaverEngineEventHandler::lockProcessExited()
+void SaverEngineEventHandler::lockCompleted()
{
- kdDebug(1204) << "SaverEngineEventHandler: lock exited" << endl;
+ kdDebug(1204) << "SaverEngineEventHandler: lock completed" << endl;
- if (trinity_lockeng_sak_available)
- {
- startSAKProcess();
- }
if (m_state == Waiting)
{
return;
}
m_state = Waiting;
- TQTimer::singleShot(0, m_saverEngine, TQ_SLOT(lockProcessWaitingGUI()));
+ if (trinity_lockeng_sak_available)
+ {
+ startSAKProcess();
+ }
+ TQTimer::singleShot(0, m_saverEngine, TQ_SLOT(stopLockProcessGUI()));
}
-void SaverEngineEventHandler::lockProcessFullyActivated()
+void SaverEngineEventHandler::lockFullyActivated()
{
m_state = Saving;
TQTimer::singleShot(0, m_saverEngine, TQ_SLOT(lockProcessFullyActivatedGUI()));
}
-void SaverEngineEventHandler::lockProcessReady()
+void SaverEngineEventHandler::lockReady()
{
m_saverProcessReady = true;
}
@@ -819,6 +797,9 @@ void SaverEngineEventHandler::saveScreen()
void SaverEngineEventHandler::slotLockProcessExited()
{
+ // Clean up status after the lock process has exited
+ lockCompleted();
+
m_lockProcessRestarting = true;
bool abnormalExit = false;