X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3f66f6a5b3583b02c34854556eb83e3a808524ce..a672d82a64965edcef6260c6fefffb94f76dd096:/src/osx/cocoa/utils.mm diff --git a/src/osx/cocoa/utils.mm b/src/osx/cocoa/utils.mm index fbed3e1856..3e07d7dc2c 100644 --- a/src/osx/cocoa/utils.mm +++ b/src/osx/cocoa/utils.mm @@ -242,21 +242,39 @@ void wxBell() // here we subclass NSApplication, for the purpose of being able to override sendEvent. @interface wxNSApplication : NSApplication { + BOOL firstPass; } +- (id)init; + - (void)sendEvent:(NSEvent *)anEvent; @end @implementation wxNSApplication +- (id)init +{ + self = [super init]; + firstPass = YES; + return self; +} + /* This is needed because otherwise we don't receive any key-up events for command-key combinations (an AppKit bug, apparently) */ - (void)sendEvent:(NSEvent *)anEvent { if ([anEvent type] == NSKeyUp && ([anEvent modifierFlags] & NSCommandKeyMask)) [[self keyWindow] sendEvent:anEvent]; - else [super sendEvent:anEvent]; + else + [super sendEvent:anEvent]; + + if ( firstPass ) + { + [NSApp stop:nil]; + firstPass = NO; + return; + } } @end @@ -293,6 +311,14 @@ bool wxApp::DoInitGui() return true; } +bool wxApp::CallOnInit() +{ + wxMacAutoreleasePool autoreleasepool; + m_onInitResult = false; + [NSApp run]; + return m_onInitResult; +} + void wxApp::DoCleanUp() { if ( appcontroller != nil )