summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--new/init_darwin.m23
-rw-r--r--new/main_darwin.m2
2 files changed, 22 insertions, 3 deletions
diff --git a/new/init_darwin.m b/new/init_darwin.m
index 4a3d2db..8d1a117 100644
--- a/new/init_darwin.m
+++ b/new/init_darwin.m
@@ -14,11 +14,31 @@
{
// yes that's right folks: DO ABSOLUTELY NOTHING.
// the magic is [NSApp run] will just... stop.
+
+ // for debugging
+ NSLog(@"in terminate:");
}
@end
-// TODO applicationShouldTerminateAfterLastWindowClosed
+@interface uiAppDelegate : NSObject <NSApplicationDelegate>
+@end
+
+@implementation uiAppDelegate
+
+- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)app
+{
+ // for debugging
+ NSLog(@"in applicationShouldTerminate:");
+ return NSTerminateNow;
+}
+
+- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)app
+{
+ return NO;
+}
+
+@end
uiInitOptions options;
@@ -29,6 +49,7 @@ uiInitError *uiInit(uiInitOptions *o)
// don't check for a NO return; something (launch services?) causes running from application bundles to always return NO when asking to change activation policy, even if the change is to the same activation policy!
// see https://github.com/andlabs/ui/issues/6
[NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
+ [NSApp setDelegate:[uiAppDelegate new]];
return NULL;
}
diff --git a/new/main_darwin.m b/new/main_darwin.m
index d19af08..981567c 100644
--- a/new/main_darwin.m
+++ b/new/main_darwin.m
@@ -1,8 +1,6 @@
// 6 april 2015
#import "uipriv_darwin.h"
-// TODO merge with init_darwin.m?
-
void uiMain(void)
{
[NSApp run];