--- 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; }