From 6a40ac081b1f96db4764803305fa442f25b5069e Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Thu, 8 Aug 2013 00:45:07 -0500 Subject: Ensure screen is fully hidden before returning from kdestop lock dcop call --- kdesktop/lock/lockprocess.cc | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'kdesktop/lock/lockprocess.cc') 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 -- cgit v1.2.1