]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/cocoa/window.mm
don't duplicate GSocket creation/destruction and shutdown code in BSD and Winsock...
[wxWidgets.git] / src / osx / cocoa / window.mm
index 561270d96a63feb0cc1af0f32e97565bdc78274b..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 :
@@ -715,6 +718,10 @@ void wxWidgetCocoaImpl::SetFont(wxFont const&, wxColour const&, long, bool)
     // TODO
 }
 
+void wxWidgetCocoaImpl::InstallEventHandler( WXWidget control )
+{
+}
+
 //
 // Factory methods
 //