diff options
Diffstat (limited to 'kdesktop/lock/lockprocess.cc')
-rw-r--r-- | kdesktop/lock/lockprocess.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc index aa4bdd570..f482dcd17 100644 --- a/kdesktop/lock/lockprocess.cc +++ b/kdesktop/lock/lockprocess.cc @@ -559,7 +559,7 @@ bool LockProcess::lock() tqApp->processEvents(); #endif - if (startSaver()) { + if (startSaver(true)) { // In case of a forced lock we don't react to events during // the dead-time to give the screensaver some time to activate. // That way we don't accidentally show the password dialog before @@ -1322,7 +1322,7 @@ void LockProcess::setTransparentBackgroundARGB() // // Start the screen saver. // -bool LockProcess::startSaver() +bool LockProcess::startSaver(bool notify_ready) { if (!child_saver && !grabInput()) { @@ -1370,6 +1370,10 @@ bool LockProcess::startSaver() erase(); } + if (notify_ready) { + saverReady(); + } + if (trinity_desktop_lock_in_sec_dlg == FALSE) { if (trinity_desktop_lock_delay_screensaver_start && trinity_desktop_lock_forced && trinity_desktop_lock_use_system_modal_dialogs) { ENABLE_CONTINUOUS_LOCKDLG_DISPLAY @@ -2777,6 +2781,11 @@ void LockProcess::fullyOnline() { } } +void LockProcess::saverReady() { + DCOPRef ref( "kdesktop", "KScreensaverIface"); + ref.send( "saverLockReady" ); +} + //=========================================================================== // // Control pipe handler |