From: Stefan Csomor <csomor@advancedconcepts.ch>
Date: Sat, 3 Mar 2012 10:36:03 +0000 (+0000)
Subject: testing another implementation for avoiding WakeUp Problems within tracking loops
X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/843ac6c8dc4b4456904baad35c4d2b1ad08c69d1

testing another implementation for avoiding WakeUp Problems within tracking loops

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---

diff --git a/src/osx/cocoa/evtloop.mm b/src/osx/cocoa/evtloop.mm
index 0228697ebd..74ecc9d54f 100644
--- a/src/osx/cocoa/evtloop.mm
+++ b/src/osx/cocoa/evtloop.mm
@@ -255,11 +255,14 @@ void wxGUIEventLoop::DoStop()
 
 void wxGUIEventLoop::WakeUp()
 {
-    NSEvent* cevent = [NSApp currentEvent];
+    // NSEvent* cevent = [NSApp currentEvent];
+    NSString* mode = [[NSRunLoop mainRunLoop] currentMode];
     
     // when already in a mouse event handler, don't add higher level event
-    if ( cevent != nil && [cevent type] < NSKeyDown )
+    // if ( cevent != nil && [cevent type] <= NSMouseMoved && )
+    if ( [NSEventTrackingRunLoopMode isEqualToString:mode] )
     {
+        // NSLog(@"event for wakeup %@ in mode %@",cevent,mode);
         wxCFEventLoop::WakeUp();        
     }
     else