X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgraphics%2Fcocoa%2Fcocoawindow.m;h=745488bfd3dfc89863d2bf895ee4648cfd3c52fe;hb=6ede8137c8247f1f7d82ed7dcaad50d3f4baae0c;hp=9ed5133162d3c6ff791a62521b67624f38eb3550;hpb=ed2ada6539882e02e1054a3394bb62a182bf007b;p=libs%2Fgui.git diff --git a/source/graphics/cocoa/cocoawindow.m b/source/graphics/cocoa/cocoawindow.m index 9ed5133..745488b 100644 --- a/source/graphics/cocoa/cocoawindow.m +++ b/source/graphics/cocoa/cocoawindow.m @@ -1,11 +1,18 @@ +#import #import #import #include "cocoadisplay.h" #include "cocoawindow.h" -@interface WindowDelegate: NSObject +#if __MAC_OS_X_VERSION_MAX_ALLOWED < 1060 +@protocol NSWindowDelegate @end +#endif -- (void)windowWillClose:(NSNotification *)notification; +@interface WindowDelegate: NSObject { + int dummy_member; +} + +- (BOOL)windowShouldClose:(id)sender; @end @@ -18,7 +25,6 @@ struct _CocoaWindow }; CFMutableDictionaryRef windows = NULL; -CFMutableArrayRef event_queue = NULL; CocoaWindow *create_window(CocoaDisplay *display, unsigned width, unsigned height, bool fullscreen, bool resizable) { @@ -96,16 +102,18 @@ void hide_window(CocoaWindow *window) @implementation WindowDelegate -- (void)windowWillClose:(NSNotification *)notification +- (BOOL)windowShouldClose:(id)sender { - CocoaWindow *window = lookup_window((NSWindow *)[notification object]); + CocoaWindow *window = lookup_window((NSWindow *)sender); if(window) { CocoaEvent event; event.any.type = WINDOW_CLOSED; event.any.window = window; queue_event(window->display, &event); + return NO; } + return YES; } @end