diff --git a/src/native/macosx/org_lwjgl_opengl_MacOSXContextImplementation.m b/src/native/macosx/org_lwjgl_opengl_MacOSXContextImplementation.m index 20cd7a5d..91df42d5 100644 --- a/src/native/macosx/org_lwjgl_opengl_MacOSXContextImplementation.m +++ b/src/native/macosx/org_lwjgl_opengl_MacOSXContextImplementation.m @@ -132,7 +132,7 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_MacOSXContextImplementation_nUpdate (JNIEnv *env, jclass clazz, jobject context_handle) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; MacOSXContext *context_info = (MacOSXContext *)(*env)->GetDirectBufferAddress(env, context_handle); - [context_info->context update]; + [context_info->context performSelectorOnMainThread:@selector(update) withObject:nil waitUntilDone:YES]; [pool release]; } @@ -163,7 +163,7 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_MacOSXContextImplementation_setView peer_info->glLayer->setViewport = YES; } - [context_info->context setView: peer_info->window_info->view]; + [context_info->context performSelectorOnMainThread:@selector(setView:) withObject:peer_info->window_info->view waitUntilDone:YES]; } else { [context_info->context setPixelBuffer:peer_info->pbuffer cubeMapFace:0 mipMapLevel:0 currentVirtualScreen:0];