[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdelibs/kdeui
From:       Ellis Whitehead <kde () ellisw ! net>
Date:       2003-08-16 19:34:00
[Download RAW message or body]

CVS commit by ellis: 

Fix the flashing/lockup problem that was reported in bug #62514


  M +27 -19    kshortcutdialog.cpp   1.20


--- kdelibs/kdeui/kshortcutdialog.cpp  #1.19:1.20
@@ -56,4 +56,5 @@ KShortcutDialog::KShortcutDialog( const 
         m_bQtShortcut = bQtShortcut;
 
+        m_bGrab = false;
         m_iSeq = 0;
         m_iKey = 0;
@@ -219,4 +220,5 @@ void KShortcutDialog::slotMultiKeyMode( 
 void KShortcutDialog::showEvent( QShowEvent * pEvent )
 {
+        //kdDebug(125) << "KShortcutDialog::showEvent" << endl;
         if( m_shortcut.count() == 1 )
                 slotShowLess();
@@ -225,21 +227,17 @@ void KShortcutDialog::showEvent( QShowEv
 
         KDialog::showEvent( pEvent );
-
-        m_bGrab = true;
 }
 
+// TODO: delete me
 void KShortcutDialog::hideEvent( QHideEvent * pEvent )
 {
-        releaseKeyboard();
+        //kdDebug(125) << "KShortcutDialog::hideEvent" << endl;
         KDialog::hideEvent( pEvent );
 }
 
+// TODO: delete me
 void KShortcutDialog::paintEvent( QPaintEvent * pEvent )
 {
-        if( m_bGrab ) {
-                grabKeyboard();
-                //grabMouse();
-                m_bGrab = false;
-        }
+        //kdDebug(125) << "KShortcutDialog::paintEvent" << endl;
         KDialog::paintEvent( pEvent );
 }
@@ -256,10 +254,20 @@ bool KShortcutDialog::x11Event( XEvent *
                                 return true;
                 case XFocusIn:
-                        kdDebug(125) << "FocusIn" << endl;
+                        if (!m_bGrab) {
+                                //kdDebug(125) << "FocusIn and Grab!" << endl;
                                 grabKeyboard();
+                                m_bGrab = true;
+                        }
+                        //else
+                        //      kdDebug(125) << "FocusIn" << endl;
                         break;
                 case XFocusOut:
-                        kdDebug(125) << "FocusOut" << endl;
+                        if (m_bGrab) {
+                                //kdDebug(125) << "FocusOut and Ungrab!" << endl;
                                 releaseKeyboard();
+                                m_bGrab = false;
+                        }
+                        //else
+                        //      kdDebug(125) << "FocusOut" << endl;
                         break;
                 default:
@@ -356,5 +364,5 @@ void KShortcutDialog::keyPressed( KKey k
                                         key = key.keyCodeQt();
                 if( key.isNull() ) {
-
+                        // TODO: message box about key not able to be used as application shortcut
                 }
         }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic