From: Kevin Ollivier Date: Fri, 8 Jan 2010 01:29:51 +0000 (+0000) Subject: Support mouse click through as otherwise clicking inside an inactive window causes... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/5a900d5050e740809e373c5b402d5706c67a08ac Support mouse click through as otherwise clicking inside an inactive window causes us to lose the first mouse down, unlike with MSW. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/osx/cocoa/window.mm b/src/osx/cocoa/window.mm index ae4c794ec0..c34c897812 100644 --- a/src/osx/cocoa/window.mm +++ b/src/osx/cocoa/window.mm @@ -651,6 +651,13 @@ void wxOSX_mouseEvent(NSView* self, SEL _cmd, NSEvent *event) impl->mouseEvent(event, self, _cmd); } +BOOL wxOSX_acceptsFirstMouse(NSView* self, SEL _cmd, NSEvent *event) +{ + // This is needed to support click through, otherwise the first click on a window + // will not do anything unless it is the active window already. + return YES; +} + void wxOSX_keyEvent(NSView* self, SEL _cmd, NSEvent *event) { wxWidgetCocoaImpl* impl = (wxWidgetCocoaImpl* ) wxWidgetImpl::FindFromWXWidget( self ); @@ -1119,6 +1126,8 @@ void wxOSXCocoaClassAddWXMethods(Class c) wxOSX_CLASS_ADD_METHOD(c, @selector(mouseDragged:), (IMP) wxOSX_mouseEvent, "v@:@" ) wxOSX_CLASS_ADD_METHOD(c, @selector(rightMouseDragged:), (IMP) wxOSX_mouseEvent, "v@:@" ) wxOSX_CLASS_ADD_METHOD(c, @selector(otherMouseDragged:), (IMP) wxOSX_mouseEvent, "v@:@" ) + + wxOSX_CLASS_ADD_METHOD(c, @selector(acceptsFirstMouse:), (IMP) wxOSX_acceptsFirstMouse, "v@:@" ) wxOSX_CLASS_ADD_METHOD(c, @selector(scrollWheel:), (IMP) wxOSX_mouseEvent, "v@:@" ) wxOSX_CLASS_ADD_METHOD(c, @selector(mouseEntered:), (IMP) wxOSX_mouseEvent, "v@:@" )