diff options
author | Timothy Pearson <[email protected]> | 2012-05-16 21:56:11 -0500 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2012-05-16 21:56:11 -0500 |
commit | d2f8fca98e6d276f442f90dee48164be15d8e287 (patch) | |
tree | b7315de120d566bcd002ce4330381801f814812b /ksmserver/shutdown.cpp | |
parent | d41f52171966007990bd9176cde217a8ba0f335a (diff) | |
download | tdebase-d2f8fca98e6d276f442f90dee48164be15d8e287.tar.gz tdebase-d2f8fca98e6d276f442f90dee48164be15d8e287.zip |
Fix fancy logout not allowing interaction with save dialogs
This closes Bug 922
Fix desktop wallpaper export failing when triggered by krootbacking or ksmserver and konsole or kdesktop_lock not previously loaded
Diffstat (limited to 'ksmserver/shutdown.cpp')
-rw-r--r-- | ksmserver/shutdown.cpp | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/ksmserver/shutdown.cpp b/ksmserver/shutdown.cpp index a4ca020e6..09cb2d743 100644 --- a/ksmserver/shutdown.cpp +++ b/ksmserver/shutdown.cpp @@ -189,24 +189,6 @@ void KSMServer::shutdownInternal( KApplication::ShutdownConfirm confirm, // shall we save the session on logout? saveSession = ( config->readEntry( "loginMode", "restorePreviousLogout" ) == "restorePreviousLogout" ); - if (showFancyLogout) { - KSMShutdownIPFeedback::showit(); // hide the UGLY logout process from the user - shutdownNotifierIPDlg = KSMShutdownIPDlg::showShutdownIP(); - while (!KSMShutdownIPFeedback::ispainted()) { - tqApp->processEvents(); - } - } - - // synchronize any folders that were requested for shutdown sync - if (shutdownNotifierIPDlg) { - static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->setStatusMessage(i18n("Synchronizing remote folders").append("...")); - } - KRsync krs(this, ""); - krs.executeLogoutAutoSync(); - if (shutdownNotifierIPDlg) { - static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->setStatusMessage(i18n("Saving your settings...")); - } - if ( saveSession ) sessionGroup = TQString("Session: ") + SESSION_PREVIOUS_LOGOUT; @@ -252,9 +234,9 @@ void KSMServer::shutdownInternal( KApplication::ShutdownConfirm confirm, completeShutdownOrCheckpoint(); } else { - if (showFancyLogout) { - KSMShutdownIPFeedback::stop(); - } + if (showFancyLogout) { + KSMShutdownIPFeedback::stop(); + } } dialogActive = false; } @@ -502,6 +484,25 @@ void KSMServer::completeShutdownOrCheckpoint() if ( waitForPhase2 ) return; + bool showFancyLogout = KConfigGroup(KGlobal::config(), "Logout").readBoolEntry("showFancyLogout", true); + if (showFancyLogout) { + KSMShutdownIPFeedback::showit(); // hide the UGLY logout process from the user + shutdownNotifierIPDlg = KSMShutdownIPDlg::showShutdownIP(); + while (!KSMShutdownIPFeedback::ispainted()) { + tqApp->processEvents(); + } + } + + // synchronize any folders that were requested for shutdown sync + if (shutdownNotifierIPDlg) { + static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->setStatusMessage(i18n("Synchronizing remote folders").append("...")); + } + KRsync krs(this, ""); + krs.executeLogoutAutoSync(); + if (shutdownNotifierIPDlg) { + static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->setStatusMessage(i18n("Saving your settings...")); + } + if ( saveSession ) storeSession(); else |