Commit f2ff953ef7c284548a92833b6322dc51f444c902

Ryan C. Gordon 2020-03-26T13:42:56

cocoa: Just update the OpenGL context directly if on the main thread.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
diff --git a/src/video/cocoa/SDL_cocoaopengl.m b/src/video/cocoa/SDL_cocoaopengl.m
index 74e93ed..c4db256 100644
--- a/src/video/cocoa/SDL_cocoaopengl.m
+++ b/src/video/cocoa/SDL_cocoaopengl.m
@@ -66,7 +66,11 @@
     int value = SDL_AtomicSet(&self->dirty, 0);
     if (value > 0) {
         /* We call the real underlying update here, since -[SDLOpenGLContext update] just calls us. */
-        [super performSelectorOnMainThread:@selector(update) withObject:nil waitUntilDone:NO];
+        if ([NSThread isMainThread]) {
+            [super update];
+        } else {
+            [super performSelectorOnMainThread:@selector(update) withObject:nil waitUntilDone:NO];
+        }
     }
 }