From d9fe0f0bf3ffa245e094e9d86da3b92a33d27bb9 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Wed, 8 Apr 2015 15:13:08 -0500 Subject: Remove external dcop call and associated thread Fix lockup on lock screen command due to signal race condition (cherry picked from commit e80c2baea0319decdad80c3c98cc7b28a010b0f0) --- kdesktop/desktop.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'kdesktop/desktop.cc') diff --git a/kdesktop/desktop.cc b/kdesktop/desktop.cc index de6873e2c..2732bff08 100644 --- a/kdesktop/desktop.cc +++ b/kdesktop/desktop.cc @@ -134,12 +134,14 @@ bool KRootWidget::eventFilter ( TQObject *, TQEvent * e ) KDesktop::WheelDirection KDesktop::m_eWheelDirection = KDesktop::m_eDefaultWheelDirection; const char* KDesktop::m_wheelDirectionStrings[2] = { "Forward", "Reverse" }; -KDesktop::KDesktop( bool x_root_hack, bool wait_for_kded ) : +KDesktop::KDesktop( SaverEngine* saver, bool x_root_hack, bool wait_for_kded ) : TQWidget( 0L, "desktop", (WFlags)(WResizeNoErase | ( x_root_hack ? (WStyle_Customize | WStyle_NoBorder) : 0)) ), KDesktopIface(), // those two WStyle_ break kdesktop when the root-hack isn't used (no Dnd) startup_id( NULL ), m_waitForKicker(0) { + m_pSaver = saver; + NETRootInfo i( tqt_xdisplay(), NET::Supported ); m_wmSupport = i.isSupported( NET::WM2ShowingDesktop ); @@ -249,7 +251,7 @@ KDesktop::initRoot() if (!m_bInit) { delete KRootWm::self(); - KRootWm* krootwm = new KRootWm( this ); // handler for root menu (used by kdesktop on RMB click) + KRootWm* krootwm = new KRootWm( m_pSaver, this ); // handler for root menu (used by kdesktop on RMB click) keys->setSlot("Lock Session", krootwm, TQT_SLOT(slotLock())); keys->updateConnections(); } @@ -327,7 +329,7 @@ KDesktop::initRoot() { m_pIconView->start(); delete KRootWm::self(); - KRootWm* krootwm = new KRootWm( this ); // handler for root menu (used by kdesktop on RMB click) + KRootWm* krootwm = new KRootWm( m_pSaver, this ); // handler for root menu (used by kdesktop on RMB click) keys->setSlot("Lock Session", krootwm, TQT_SLOT(slotLock())); keys->updateConnections(); } @@ -395,7 +397,7 @@ KDesktop::slotStart() // Global keys keys = new TDEGlobalAccel( TQT_TQOBJECT(this) ); - (void) new KRootWm( this ); + (void) new KRootWm( m_pSaver, this ); #include "kdesktopbindings.cpp" -- cgit v1.2.3