]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/cocoa/window.mm
fix memory leak while testing for correct Clone() implementation (closes #10304)
[wxWidgets.git] / src / osx / cocoa / window.mm
index df977ab28178a8b9ca6446083c04b660208e7188..4594a4931da1e3aea95e38e5319baa305a1c93fb 100644 (file)
@@ -112,6 +112,7 @@ long wxOSXTranslateCocoaKey(unsigned short code, int unichar )
 void SetupKeyEvent( wxKeyEvent &wxevent , NSEvent * nsEvent )
 {
     UInt32 modifiers = [nsEvent modifierFlags] ;
+    int eventType = [nsEvent type];
 
     wxevent.m_shiftDown = modifiers & NSShiftKeyMask;
     wxevent.m_controlDown = modifiers & NSControlKeyMask;
@@ -119,11 +120,14 @@ void SetupKeyEvent( wxKeyEvent &wxevent , NSEvent * nsEvent )
     wxevent.m_metaDown = modifiers & NSCommandKeyMask;
 
     wxString chars;
-    NSString* nschars = [nsEvent characters];
-    if ( nschars )
+    if ( eventType != NSFlagsChanged )
     {
-        wxCFStringRef cfchars((CFStringRef)[nschars retain]);
-        chars = cfchars.AsString();
+        NSString* nschars = [nsEvent characters];
+        if ( nschars )
+        {
+            wxCFStringRef cfchars((CFStringRef)[nschars retain]);
+            chars = cfchars.AsString();
+        }
     }
     
     int unichar = chars.Length() > 0 ? chars[0] : 0;
@@ -136,7 +140,6 @@ void SetupKeyEvent( wxKeyEvent &wxevent , NSEvent * nsEvent )
     wxevent.m_rawFlags = modifiers;
     
     wxevent.SetTimestamp( [nsEvent timestamp] * 1000.0 ) ;
-    int eventType = [nsEvent type];
     switch (eventType)
     {
         case NSKeyDown :
@@ -324,7 +327,7 @@ void SetupMouseEvent( wxMouseEvent &wxevent , NSEvent * nsEvent )
         
         wxRegion updateRgn;
         const NSRect *rects;
-        int count ;
+        NSInteger count;
 
         [self getRectsBeingDrawn:&rects count:&count];
         for ( int i = 0 ; i < count ; ++i )
@@ -715,6 +718,10 @@ void wxWidgetCocoaImpl::SetFont(wxFont const&, wxColour const&, long, bool)
     // TODO
 }
 
+void wxWidgetCocoaImpl::InstallEventHandler( WXWidget control )
+{
+}
+
 //
 // Factory methods
 //