Browse Source

cocoa: Patched to compile on macOS SDK < 10.10.

Fixes #6586.

(cherry picked from commit fa5adcafd52303fde86c64094462303404259d75)
Ryan C. Gordon 2 years ago
parent
commit
5edd6846db
2 changed files with 5 additions and 1 deletions
  1. 3 0
      src/video/cocoa/SDL_cocoaopengl.h
  2. 2 1
      src/video/cocoa/SDL_cocoaopengl.m

+ 3 - 0
src/video/cocoa/SDL_cocoaopengl.h

@@ -59,6 +59,9 @@ struct SDL_GLDriverData
 - (SDL_Window*)window;
 - (void)explicitUpdate;
 - (void)dealloc;
+
+@property (retain, nonatomic) NSOpenGLPixelFormat* openglPixelFormat;  // macOS 10.10 has -[NSOpenGLContext pixelFormat] but this handles older OS releases.
+
 @end
 
 /* OpenGL functions */

+ 2 - 1
src/video/cocoa/SDL_cocoaopengl.m

@@ -76,6 +76,7 @@ DisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeStamp* now, const
 {
     self = [super initWithFormat:format shareContext:share];
     if (self) {
+        self.openglPixelFormat = format;
         SDL_AtomicSet(&self->dirty, 0);
         self->window = NULL;
         SDL_AtomicSet(&self->swapIntervalSetting, 0);
@@ -100,7 +101,7 @@ DisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeStamp* now, const
 - (void)movedToNewScreen
 {
     if (self->displayLink) {
-        CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext(self->displayLink, [self CGLContextObj], [[self pixelFormat] CGLPixelFormatObj]);
+        CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext(self->displayLink, [self CGLContextObj], [[self openglPixelFormat] CGLPixelFormatObj]);
     }
 }