]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/cocoa/nonownedwnd.mm
fix wxGTK1 compilation after wxTextEntry DoGetValue() change
[wxWidgets.git] / src / osx / cocoa / nonownedwnd.mm
index d6857babc4853c37250ea514a5857d60a7907681..73e3fa9cbcadc1350260260db78d8602fe8f5e15 100644 (file)
@@ -61,6 +61,8 @@ wxPoint wxFromNSPoint( NSView* parent, const NSPoint& p )
 // wx native implementation classes
 //
 
+typedef void (*wxOSX_NoResponderHandlerPtr)(NSView* self, SEL _cmd, SEL selector);
+
 @interface wxNSWindow : NSWindow
 
 {
@@ -69,7 +71,7 @@ wxPoint wxFromNSPoint( NSView* parent, const NSPoint& p )
 
 - (void)setImplementation: (wxNonOwnedWindowCocoaImpl *) theImplementation;
 - (wxNonOwnedWindowCocoaImpl*) implementation;
-
+- (void)noResponderFor: (SEL) selector;
 @end
 
 @implementation wxNSWindow
@@ -84,6 +86,15 @@ wxPoint wxFromNSPoint( NSView* parent, const NSPoint& p )
     return impl;
 }
 
+// NB: if we don't do this, all key downs that get handled lead to a NSBeep
+- (void)noResponderFor: (SEL) selector
+{
+    if (selector != @selector(keyDown:))
+    {
+        wxOSX_NoResponderHandlerPtr superimpl = (wxOSX_NoResponderHandlerPtr) [[self superclass] instanceMethodForSelector:@selector(noResponderFor:)];
+        superimpl(self, @selector(noResponderFor:), selector);
+    }
+}
 
 @end
 
@@ -95,7 +106,7 @@ wxPoint wxFromNSPoint( NSView* parent, const NSPoint& p )
 
 - (void)setImplementation: (wxNonOwnedWindowCocoaImpl *) theImplementation;
 - (wxNonOwnedWindowCocoaImpl*) implementation;
-
+- (void)noResponderFor: (SEL) selector;
 @end
 
 @implementation wxNSPanel 
@@ -110,6 +121,16 @@ wxPoint wxFromNSPoint( NSView* parent, const NSPoint& p )
     return impl;
 }
 
+// NB: if we don't do this, all key downs that get handled lead to a NSBeep
+- (void)noResponderFor: (SEL) selector
+{
+    if (selector != @selector(keyDown:))
+    {
+        wxOSX_NoResponderHandlerPtr superimpl = (wxOSX_NoResponderHandlerPtr) [[self superclass] instanceMethodForSelector:@selector(noResponderFor:)];
+        superimpl(self, @selector(noResponderFor:), selector);
+    }
+}
+
 @end