summaryrefslogtreecommitdiffstats
path: root/kdesktop/desktop.cc
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2015-04-08 15:13:08 -0500
committerSlávek Banko <slavek.banko@axis.cz>2015-04-14 02:27:23 +0200
commitd9fe0f0bf3ffa245e094e9d86da3b92a33d27bb9 (patch)
tree20979d92829808e36d5ff17557a301a8f2486da7 /kdesktop/desktop.cc
parent15e069f3e078dd97e7cc99a66b77b2647a82c53d (diff)
downloadtdebase-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.cc10
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"