diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-04-22 21:41:57 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-04-22 21:41:57 -0500 |
commit | edf3004ec3bd7bf7d2d1c3074281ce22188f3e35 (patch) | |
tree | 87b6c6d4a732beda0f8777fcade7df18e8825e3b /kdesktop/lock/lockprocess.cc | |
parent | f003ff9cd0cc743c13cb0b15e03e2c09cc53e8c1 (diff) | |
download | tdebase-edf3004ec3bd7bf7d2d1c3074281ce22188f3e35.tar.gz tdebase-edf3004ec3bd7bf7d2d1c3074281ce22188f3e35.zip |
Fix secondary thread termination
This resolves the remainder of Bug 1467
Diffstat (limited to 'kdesktop/lock/lockprocess.cc')
-rw-r--r-- | kdesktop/lock/lockprocess.cc | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc index d1cf95212..82952431a 100644 --- a/kdesktop/lock/lockprocess.cc +++ b/kdesktop/lock/lockprocess.cc @@ -376,16 +376,18 @@ void LockProcess::init(bool child, bool useBlankOnly) connect(&mSuspendTimer, TQT_SIGNAL(timeout()), TQT_SLOT(suspend())); #ifdef HAVE_DPMS - if (mDPMSDepend) { + //if the user decided that the screensaver should run independent from + //dpms, we shouldn't check for it, aleXXX + if (KDesktopSettings::dpmsDependent()) { BOOL on; CARD16 state; - DPMSInfo(tqt_xdisplay(), &state, &on); - if (on) - { - connect(&mCheckDPMS, TQT_SIGNAL(timeout()), TQT_SLOT(checkDPMSActive())); - // we can save CPU if we stop it as quickly as possible - // but we waste CPU if we check too often -> so take 10s - mCheckDPMS.start(10000); + if (DPMSInfo(tqt_xdisplay(), &state, &on)) { + if (on) { + connect(&mCheckDPMS, TQT_SIGNAL(timeout()), TQT_SLOT(checkDPMSActive())); + // we can save CPU if we stop it as quickly as possible + // but we waste CPU if we check too often -> so take 10s + mCheckDPMS.start(10000); + } } } #endif @@ -729,12 +731,6 @@ void LockProcess::configure() mAutoLogoutTimerId = startTimer(mAutoLogoutTimeout * 1000); // in milliseconds } -#ifdef HAVE_DPMS - //if the user decided that the screensaver should run independent from - //dpms, we shouldn't check for it, aleXXX - mDPMSDepend = KDesktopSettings::dpmsDependent(); -#endif - mPriority = KDesktopSettings::priority(); if (mPriority < 0) mPriority = 0; if (mPriority > 19) mPriority = 19; @@ -2702,6 +2698,7 @@ void ControlPipeHandlerObject::run(void) { if (display_number < 0) { printf("[kdesktop_lock] Warning: unable to create control socket. Interactive logon modules may not function properly.\n\r"); + TQApplication::eventLoop()->exit(-1); return; } @@ -2731,6 +2728,7 @@ void ControlPipeHandlerObject::run(void) { if (!mParent->mPipeOpen) { printf("[kdesktop_lock] Warning: unable to create control socket '%s'. Interactive logon modules may not function properly.\n\r", fifo_file); + TQApplication::eventLoop()->exit(-1); return; } @@ -2760,6 +2758,9 @@ void ControlPipeHandlerObject::run(void) { } } } + + TQApplication::eventLoop()->exit(0); + return; } #include "lockprocess.moc" |