|
@@ -38,6 +38,8 @@
|
|
|
- (void)terminate:(id)sender;
|
|
|
- (void)sendEvent:(NSEvent *)theEvent;
|
|
|
|
|
|
++ (void)registerUserDefaults;
|
|
|
+
|
|
|
@end
|
|
|
|
|
|
@implementation SDLApplication
|
|
@@ -90,6 +92,17 @@ static void Cocoa_DispatchEvent(NSEvent *theEvent)
|
|
|
[super sendEvent:theEvent];
|
|
|
}
|
|
|
|
|
|
++ (void)registerUserDefaults
|
|
|
+{
|
|
|
+ NSDictionary *appDefaults = [[NSDictionary alloc] initWithObjectsAndKeys:
|
|
|
+ [NSNumber numberWithBool:NO], @"AppleMomentumScrollSupported",
|
|
|
+ [NSNumber numberWithBool:NO], @"ApplePressAndHoldEnabled",
|
|
|
+ [NSNumber numberWithBool:YES], @"ApplePersistenceIgnoreState",
|
|
|
+ nil];
|
|
|
+ [[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];
|
|
|
+ [appDefaults release];
|
|
|
+}
|
|
|
+
|
|
|
@end // SDLApplication
|
|
|
|
|
|
/* setAppleMenu disappeared from the headers in 10.4 */
|
|
@@ -227,6 +240,10 @@ static void Cocoa_DispatchEvent(NSEvent *theEvent)
|
|
|
if (!SDL_GetHintBoolean(SDL_HINT_MAC_BACKGROUND_APP, SDL_FALSE)) {
|
|
|
[NSApp activateIgnoringOtherApps:YES];
|
|
|
}
|
|
|
+
|
|
|
+ /* If we call this before NSApp activation, macOS might print a complaint
|
|
|
+ * about ApplePersistenceIgnoreState. */
|
|
|
+ [SDLApplication registerUserDefaults];
|
|
|
}
|
|
|
@end
|
|
|
|
|
@@ -379,13 +396,12 @@ Cocoa_RegisterApp(void)
|
|
|
CreateApplicationMenus();
|
|
|
}
|
|
|
[NSApp finishLaunching];
|
|
|
- NSDictionary *appDefaults = [[NSDictionary alloc] initWithObjectsAndKeys:
|
|
|
- [NSNumber numberWithBool:NO], @"AppleMomentumScrollSupported",
|
|
|
- [NSNumber numberWithBool:NO], @"ApplePressAndHoldEnabled",
|
|
|
- [NSNumber numberWithBool:YES], @"ApplePersistenceIgnoreState",
|
|
|
- nil];
|
|
|
- [[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];
|
|
|
- [appDefaults release];
|
|
|
+ if ([NSApp delegate]) {
|
|
|
+ /* The SDL app delegate calls this in didFinishLaunching if it's
|
|
|
+ * attached to the NSApp, otherwise we need to call it manually.
|
|
|
+ */
|
|
|
+ [SDLApplication registerUserDefaults];
|
|
|
+ }
|
|
|
}
|
|
|
if (NSApp && !appDelegate) {
|
|
|
appDelegate = [[SDLAppDelegate alloc] init];
|