summaryrefslogtreecommitdiffstats
path: root/ksmserver/shutdown.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2012-05-16 21:56:11 -0500
committerTimothy Pearson <[email protected]>2012-05-16 21:56:11 -0500
commitd2f8fca98e6d276f442f90dee48164be15d8e287 (patch)
treeb7315de120d566bcd002ce4330381801f814812b /ksmserver/shutdown.cpp
parentd41f52171966007990bd9176cde217a8ba0f335a (diff)
downloadtdebase-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.cpp43
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