]> git.saurik.com Git - wxWidgets.git/commitdiff
make WakeUp variant explicit, too many errors using heuristics, like #14176
authorStefan Csomor <csomor@advancedconcepts.ch>
Wed, 2 May 2012 19:30:11 +0000 (19:30 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Wed, 2 May 2012 19:30:11 +0000 (19:30 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/osx/cocoa/evtloop.h
src/osx/cocoa/evtloop.mm

index a327ee45deb977b70035eb1ba09aeacd76587383..8ccf5b22ba1d2ab42385360cc0cfcd15736762d4 100644 (file)
@@ -23,6 +23,9 @@ public:
 
     virtual void WakeUp();
 
+    void OSXUseLowLevelWakeup(bool useIt)
+        { m_osxLowLevelWakeUp = useIt ; }
+    
 protected:
     virtual int DoDispatchTimeout(unsigned long timeout);
 
@@ -39,6 +42,8 @@ protected:
     WXWindow m_dummyWindow;
     
     int m_modalNestedLevel;
+    
+    bool m_osxLowLevelWakeUp;
 };
 
 #endif // _WX_OSX_COCOA_EVTLOOP_H_
index 27e33bca2523f54cbf36e7ab242f6d31ebe9adc2..135f936de528e28f269bde091b4aecbbfeeb0846 100644 (file)
@@ -109,6 +109,7 @@ wxGUIEventLoop::wxGUIEventLoop()
     m_dummyWindow = nil;
     m_modalNestedLevel = 0;
     m_modalWindow = NULL;
+    m_osxLowLevelWakeUp = false;
 }
 
 wxGUIEventLoop::~wxGUIEventLoop()
@@ -256,11 +257,11 @@ void wxGUIEventLoop::DoStop()
 void wxGUIEventLoop::WakeUp()
 {
     // NSEvent* cevent = [NSApp currentEvent];
-    NSString* mode = [[NSRunLoop mainRunLoop] currentMode];
+    // NSString* mode = [[NSRunLoop mainRunLoop] currentMode];
     
     // when already in a mouse event handler, don't add higher level event
     // if ( cevent != nil && [cevent type] <= NSMouseMoved && )
-    if ( [NSEventTrackingRunLoopMode isEqualToString:mode] )
+    if ( m_osxLowLevelWakeUp /* [NSEventTrackingRunLoopMode isEqualToString:mode] */ )
     {
         // NSLog(@"event for wakeup %@ in mode %@",cevent,mode);
         wxCFEventLoop::WakeUp();