diff options
Diffstat (limited to 'redhat/tdebase/kdebase-3.5.13-fix_fancy_logout.patch')
-rw-r--r-- | redhat/tdebase/kdebase-3.5.13-fix_fancy_logout.patch | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/redhat/tdebase/kdebase-3.5.13-fix_fancy_logout.patch b/redhat/tdebase/kdebase-3.5.13-fix_fancy_logout.patch deleted file mode 100644 index 793334e24..000000000 --- a/redhat/tdebase/kdebase-3.5.13-fix_fancy_logout.patch +++ /dev/null @@ -1,162 +0,0 @@ -commit d2f8fca98e6d276f442f90dee48164be15d8e287 -Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> -Date: 1337223371 -0500 - - 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 - -diff --git a/krootbacking/krootbacking.cpp b/krootbacking/krootbacking.cpp -index 8e41b50..fe8574a 100644 ---- a/krootbacking/krootbacking.cpp -+++ b/krootbacking/krootbacking.cpp -@@ -54,6 +54,8 @@ public: - KRootBacking::KRootBacking() - : TQObject(KApplication::desktop(), "KRootBacking" ), m_Desk(0), m_timeout(0) - { -+ enableExports(); -+ - init(); - } - -diff --git a/ksmserver/shutdown.cpp b/ksmserver/shutdown.cpp -index a4ca020..09cb2d7 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 -diff --git a/ksmserver/shutdowndlg.cpp b/ksmserver/shutdowndlg.cpp -index 163352a..35cae65 100644 ---- a/ksmserver/shutdowndlg.cpp -+++ b/ksmserver/shutdowndlg.cpp -@@ -528,6 +528,11 @@ KSMShutdownIPFeedback::KSMShutdownIPFeedback() - : TQWidget( 0L, "systemmodaldialogclass", Qt::WStyle_Customize | Qt::WStyle_NoBorder | Qt::WStyle_StaysOnTop ), m_timeout(0), m_isPainted(false), m_sharedRootPixmap(NULL), mPixmapTimeout(0) - - { -+ setShown(false); -+ hide(); -+ -+ enableExports(); -+ - m_sharedRootPixmap = new KRootPixmap(this); - m_sharedRootPixmap->setCustomPainting(true); - connect(m_sharedRootPixmap, TQT_SIGNAL(backgroundUpdated(const TQPixmap &)), this, TQT_SLOT(slotSetBackgroundPixmap(const TQPixmap &))); -@@ -554,15 +559,36 @@ KSMShutdownIPFeedback::KSMShutdownIPFeedback() - setBackgroundPixmap( m_root ); - setGeometry( TQApplication::desktop()->geometry() ); - setBackgroundMode( TQWidget::NoBackground ); -- -- setShown(true); - } - - void KSMShutdownIPFeedback::showNow() - { -+ setShown(true); -+ - TQTimer::singleShot( 0, this, SLOT(slotPaintEffect()) ); - } - -+void KSMShutdownIPFeedback::enableExports() -+{ -+#ifdef Q_WS_X11 -+ kdDebug(270) << k_lineinfo << "activating background exports.\n"; -+ DCOPClient *client = kapp->dcopClient(); -+ if (!client->isAttached()) { -+ client->attach(); -+ } -+ TQByteArray data; -+ TQDataStream args( data, IO_WriteOnly ); -+ args << 1; -+ -+ TQCString appname( "kdesktop" ); -+ int screen_number = DefaultScreen(qt_xdisplay()); -+ if ( screen_number ) -+ appname.sprintf("kdesktop-screen-%d", screen_number ); -+ -+ client->send( appname, "KBackgroundIface", "setExport(int)", data ); -+#endif -+} -+ - KSMShutdownIPFeedback::~KSMShutdownIPFeedback() - { - if (m_sharedRootPixmap) { -diff --git a/ksmserver/shutdowndlg.h b/ksmserver/shutdowndlg.h -index db66c55..05ca991 100644 ---- a/ksmserver/shutdowndlg.h -+++ b/ksmserver/shutdowndlg.h -@@ -97,6 +97,13 @@ - void slotSetBackgroundPixmap(const TQPixmap &); - - private: -+ /** -+ * Asks KDesktop to export the desktop background as a KSharedPixmap. -+ * This method uses DCOP to call KBackgroundIface/setExport(int). -+ */ -+ void enableExports(); -+ -+private: - static KSMShutdownIPFeedback * s_pSelf; - KSMShutdownIPFeedback(); - int m_currentY; |