Disable SAK key detection in kdesktop when the lock dialog is active

git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1254063 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
v3.5.13-sru
tpearson 14 years ago
parent e02b614061
commit c8ff4ef743

@ -83,6 +83,7 @@ void SaverEngine::lock()
bool ok = true; bool ok = true;
if (mState == Waiting) if (mState == Waiting)
{ {
mSAKProcess->kill(SIGTERM);
ok = startLockProcess( ForceLock ); ok = startLockProcess( ForceLock );
// It takes a while for kdesktop_lock to start and lock the screen. // It takes a while for kdesktop_lock to start and lock the screen.
// Therefore delay the DCOP call until it tells kdesktop that the locking is in effect. // Therefore delay the DCOP call until it tells kdesktop that the locking is in effect.
@ -127,6 +128,7 @@ void SaverEngine::save()
{ {
if (mState == Waiting) if (mState == Waiting)
{ {
mSAKProcess->kill(SIGTERM);
startLockProcess( DefaultLock ); startLockProcess( DefaultLock );
} }
} }
@ -208,9 +210,9 @@ void SaverEngine::handleSecureDialog()
void SaverEngine::slotSAKProcessExited() void SaverEngine::slotSAKProcessExited()
{ {
int retcode = mSAKProcess->exitStatus(); int retcode = mSAKProcess->exitStatus();
if (retcode != 0) trinity_lockeng_sak_available = FALSE; if ((retcode != 0) && (mSAKProcess->normalExit())) trinity_lockeng_sak_available = FALSE;
if (trinity_lockeng_sak_available == TRUE) { if ((mSAKProcess->normalExit()) && (trinity_lockeng_sak_available == TRUE)) {
bool ok = true; bool ok = true;
if (mState == Waiting) if (mState == Waiting)
{ {
@ -384,6 +386,7 @@ void SaverEngine::idleTimeout()
// disable X screensaver // disable X screensaver
XForceScreenSaver(qt_xdisplay(), ScreenSaverReset ); XForceScreenSaver(qt_xdisplay(), ScreenSaverReset );
XSetScreenSaver(qt_xdisplay(), 0, mXInterval, PreferBlanking, DontAllowExposures); XSetScreenSaver(qt_xdisplay(), 0, mXInterval, PreferBlanking, DontAllowExposures);
mSAKProcess->kill(SIGTERM);
startLockProcess( DefaultLock ); startLockProcess( DefaultLock );
} }

Loading…
Cancel
Save