// Author: Stefan Csomor
// Modified by:
// Created: 1998-01-01
-// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// 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
return true;
}
+bool wxApp::CallOnInit()
+{
+ wxMacAutoreleasePool autoreleasepool;
+ // this will only run one cycle to make sure the OS is ready
+ [NSApp run];
+ return OnInit();
+}
+
void wxApp::DoCleanUp()
{
if ( appcontroller != nil )