Fixed compiling with older Mac OS X SDK
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m
index 91cc7d1..20852b2 100644
--- a/src/video/cocoa/SDL_cocoawindow.m
+++ b/src/video/cocoa/SDL_cocoawindow.m
@@ -114,10 +114,12 @@ GetWindowStyle(SDL_Window * window)
[center addObserver:self selector:@selector(windowDidDeminiaturize:) name:NSWindowDidDeminiaturizeNotification object:window];
[center addObserver:self selector:@selector(windowDidBecomeKey:) name:NSWindowDidBecomeKeyNotification object:window];
[center addObserver:self selector:@selector(windowDidResignKey:) name:NSWindowDidResignKeyNotification object:window];
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
[center addObserver:self selector:@selector(windowWillEnterFullScreen:) name:NSWindowWillEnterFullScreenNotification object:window];
[center addObserver:self selector:@selector(windowDidEnterFullScreen:) name:NSWindowDidEnterFullScreenNotification object:window];
[center addObserver:self selector:@selector(windowWillExitFullScreen:) name:NSWindowWillExitFullScreenNotification object:window];
[center addObserver:self selector:@selector(windowDidExitFullScreen:) name:NSWindowDidExitFullScreenNotification object:window];
+#endif /* Mac OS X 10.7+ */
} else {
[window setDelegate:self];
}
@@ -203,10 +205,12 @@ GetWindowStyle(SDL_Window * window)
[center removeObserver:self name:NSWindowDidDeminiaturizeNotification object:window];
[center removeObserver:self name:NSWindowDidBecomeKeyNotification object:window];
[center removeObserver:self name:NSWindowDidResignKeyNotification object:window];
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
[center removeObserver:self name:NSWindowWillEnterFullScreenNotification object:window];
[center removeObserver:self name:NSWindowDidEnterFullScreenNotification object:window];
[center removeObserver:self name:NSWindowWillExitFullScreenNotification object:window];
[center removeObserver:self name:NSWindowDidExitFullScreenNotification object:window];
+#endif /* Mac OS X 10.7+ */
} else {
[window setDelegate:nil];
}
@@ -823,13 +827,17 @@ Cocoa_CreateWindow(_THIS, SDL_Window * window)
return -1;
}
[nswindow setBackgroundColor:[NSColor blackColor]];
- [nswindow setCollectionBehavior:NSWindowCollectionBehaviorFullScreenPrimary];
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
+ if ([nswindow respondsToSelector:@selector(setCollectionBehavior:)]) {
+ [nswindow setCollectionBehavior:NSWindowCollectionBehaviorFullScreenPrimary];
+ }
+#endif
/* Create a default view for this window */
rect = [nswindow contentRectForFrameRect:[nswindow frame]];
NSView *contentView = [[SDLView alloc] initWithFrame:rect];
- if ((window->flags & SDL_WINDOW_ALLOW_HIGHDPI) > 0) {
+ if (window->flags & SDL_WINDOW_ALLOW_HIGHDPI) {
if ([contentView respondsToSelector:@selector(setWantsBestResolutionOpenGLSurface:)]) {
[contentView setWantsBestResolutionOpenGLSurface:YES];
}
@@ -1117,7 +1125,7 @@ Cocoa_SetWindowFullscreen_NewStyle(_THIS, SDL_Window * window, SDL_VideoDisplay
NSWindow *nswindow = data->nswindow;
if (fullscreen != [data->listener isToggledFullscreen]) {
- [nswindow toggleFullScreen:nil];
+ [nswindow performSelector: @selector(toggleFullScreen:) withObject:nswindow];
}
ScheduleContextUpdates(data);
}