Browse Source

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

Ryan C. Gordon 5 năm trước cách đây
mục cha
commit
f2ff953ef7
1 tập tin đã thay đổi với 5 bổ sung1 xóa
  1. 5 1
      src/video/cocoa/SDL_cocoaopengl.m

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

@@ -66,7 +66,11 @@
     int value = SDL_AtomicSet(&self->dirty, 0);
     int value = SDL_AtomicSet(&self->dirty, 0);
     if (value > 0) {
     if (value > 0) {
         /* We call the real underlying update here, since -[SDLOpenGLContext update] just calls us. */
         /* 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];
+        }
     }
     }
 }
 }