ui/cocoa/window.m

changeset 108
77254bd6dccb
parent 102
64ded9f6a6c6
child 110
c00e968d018b
--- a/ui/cocoa/window.m	Sat Apr 05 17:57:04 2025 +0200
+++ b/ui/cocoa/window.m	Sun Jul 20 22:04:39 2025 +0200
@@ -31,6 +31,8 @@
 #import "MainWindow.h"
 #import "WindowManager.h"
 
+#import <objc/runtime.h>
+
 #include "../ui/window.h"
 #include "../ui/properties.h"
 #include "../common/context.h"
@@ -39,6 +41,7 @@
 
 #include <cx/mempool.h>
 
+
 static UiObject* create_window(const char *title, BOOL simple) {
     CxMempool *mp = cxMempoolCreateSimple(256);
     UiObject *obj = cxCalloc(mp->allocator, 1, sizeof(UiObject));
@@ -52,6 +55,11 @@
     
     obj->wobj = (__bridge void*)window;
     
+    MainWindowController *controller = [[MainWindowController alloc] initWithWindow:obj window:window];
+    window.windowController = controller;
+    [window setNextResponder:(NSResponder*)controller];
+    objc_setAssociatedObject(window, "windowcontroller", controller, OBJC_ASSOCIATION_RETAIN);
+    
     return obj;
 }
 

mercurial