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

List:       kde-commits
Subject:    kdelibs/kdecore
From:       Stephan Kulow <coolo () kde ! org>
Date:       2005-03-24 12:46:38
Message-ID: 20050324124638.9F7E03EC () office ! kde ! org
[Download RAW message or body]

CVS commit by coolo: 

catch self modifying GUIs
BUG: 102116


  M +23 -9     kcheckaccelerators.cpp   1.15


--- kdelibs/kdecore/kcheckaccelerators.cpp  #1.14:1.15
@@ -93,8 +93,11 @@ KCheckAccelerators::KCheckAccelerators( 
 }
 
-bool KCheckAccelerators::eventFilter( QObject * , QEvent * e) {
+bool KCheckAccelerators::eventFilter( QObject * , QEvent * e)
+{
     if ( block )
         return false;
-    if ( e->type() == QEvent::Accel ) {
+
+    switch ( e->type() ) { // just simplify debuggin
+    case QEvent::Accel:
         if ( key && (static_cast<QKeyEvent *>(e)->key() == key) ) {
             block = true;
@@ -104,10 +107,21 @@ bool KCheckAccelerators::eventFilter( QO
             return true;
         }
-    }
-    if( autoCheck
-        && ( e->type() == QEvent::ChildInserted ||
-             e->type() == QEvent::ChildRemoved ) )
-    {
+        break;
+    case QEvent::ChildInserted:
+    case QEvent::ChildRemoved:
+    case QEvent::Resize:
+    case QEvent::LayoutHint:
+    case QEvent::WindowActivate:
+    case QEvent::WindowDeactivate:
+        if( autoCheck )
         autoCheckTimer.start( 20, true ); // 20 ms
+        break;
+    case QEvent::Timer:
+    case QEvent::MouseMove:
+    case QEvent::Paint:
+        return false;
+    default:
+        // kdDebug(125) << "KCheckAccelerators::eventFilter " << e->type() << " " << autoCheck << endl;
+        break;
     }
     return false;


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

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