diff options
author | Timothy Pearson <[email protected]> | 2015-04-08 15:13:08 -0500 |
---|---|---|
committer | Slávek Banko <[email protected]> | 2015-04-14 02:27:23 +0200 |
commit | d9fe0f0bf3ffa245e094e9d86da3b92a33d27bb9 (patch) | |
tree | 20979d92829808e36d5ff17557a301a8f2486da7 /kdesktop/desktop.cc | |
parent | 15e069f3e078dd97e7cc99a66b77b2647a82c53d (diff) | |
download | tdebase-d9fe0f0bf3ffa245e094e9d86da3b92a33d27bb9.tar.gz tdebase-d9fe0f0bf3ffa245e094e9d86da3b92a33d27bb9.zip |
Remove external dcop call and associated thread
Fix lockup on lock screen command due to signal race condition
(cherry picked from commit e80c2baea0319decdad80c3c98cc7b28a010b0f0)
Diffstat (limited to 'kdesktop/desktop.cc')
-rw-r--r-- | kdesktop/desktop.cc | 10 |
1 files changed, 6 insertions, 4 deletions
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" |