summaryrefslogtreecommitdiffstats
path: root/kdesktop
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-02-20 14:29:13 -0600
committerSlávek Banko <slavek.banko@axis.cz>2013-02-20 22:01:35 +0100
commit540d05041a9ffa3906536ea4c2f2a7b324afffdd (patch)
treecb274fc72c31c14d49254bb1a0768aced75bc9fc /kdesktop
parent11319be1b9ff8f6fea375d86a3430a0c85b184c7 (diff)
downloadtdebase-540d05041a9ffa3906536ea4c2f2a7b324afffdd.tar.gz
tdebase-540d05041a9ffa3906536ea4c2f2a7b324afffdd.zip
Fix potential crash in kdesktop_lock
This is related to Bug 1288 (cherry picked from commit 7ca042263042aaa2f10aa0f436bf1df91e476c12)
Diffstat (limited to 'kdesktop')
-rw-r--r--kdesktop/lock/lockprocess.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc
index 397dec446..a7a46fdf7 100644
--- a/kdesktop/lock/lockprocess.cc
+++ b/kdesktop/lock/lockprocess.cc
@@ -1847,8 +1847,9 @@ bool LockProcess::checkPass()
// Wait for SAK press before continuing...
SAKDlg inDlg( this );
execDialog( &inDlg );
- if (trinity_desktop_lock_closing_windows)
+ if (trinity_desktop_lock_closing_windows) {
return 0;
+ }
}
showVkbd();
@@ -2030,7 +2031,9 @@ void LockProcess::cleanupPopup()
{
TQWidget *dlg = (TQWidget *)sender();
mDialogs.remove( dlg );
- fakeFocusIn( mDialogs.first()->winId() );
+ if ( mDialogs.isEmpty() ) {
+ fakeFocusIn( mDialogs.first()->winId() );
+ }
}
void LockProcess::doFunctionKeyBroadcast() {
@@ -2549,7 +2552,7 @@ void LockProcess::slotMouseActivity(XEvent *event)
bool inDialog = 0;
XButtonEvent *be = (XButtonEvent *) event;
XMotionEvent *me = (XMotionEvent *) event;
- if ((event->type == ButtonPress) && (mDialogs.first())) {
+ if ((event->type == ButtonPress) && (!mDialogs.isEmpty())) {
// Get geometry including window frame/titlebar
TQRect fgeom = mDialogs.first()->frameGeometry();
TQRect wgeom = mDialogs.first()->geometry();
@@ -2590,7 +2593,7 @@ void LockProcess::slotMouseActivity(XEvent *event)
int deltaY = me->y_root - m_mousePrevY;
m_dialogPrevX = m_dialogPrevX + deltaX;
m_dialogPrevY = m_dialogPrevY + deltaY;
- if (mDialogs.first()) mDialogs.first()->move(m_dialogPrevX, m_dialogPrevY);
+ if (!mDialogs.isEmpty()) mDialogs.first()->move(m_dialogPrevX, m_dialogPrevY);
m_mousePrevX = me->x_root;
m_mousePrevY = me->y_root;