diff --git a/dlls/winemac.drv/cocoa_opengl.m b/dlls/winemac.drv/cocoa_opengl.m index 4694dfdc81bfa32b6f554309da51c836d847b45c..e1aca7784c12b3ca7af91b3af592b70b525aec11 100644 --- a/dlls/winemac.drv/cocoa_opengl.m +++ b/dlls/winemac.drv/cocoa_opengl.m @@ -227,17 +227,17 @@ void macdrv_make_context_current(macdrv_opengl_context c, macdrv_view v) { WineOpenGLContext* currentContext = (WineOpenGLContext*)[WineOpenGLContext currentContext]; - if ([currentContext isKindOfClass:[WineOpenGLContext class]]) - { - [WineOpenGLContext clearCurrentContext]; - if (currentContext != context) - [currentContext removeFromViews:YES]; - } + [context removeFromViews:YES]; - if (context) + if (currentContext != context) { - [context removeFromViews:YES]; - [context makeCurrentContext]; + if (context) + [context makeCurrentContext]; + else + [WineOpenGLContext clearCurrentContext]; + + if ([currentContext isKindOfClass:[WineOpenGLContext class]]) + [currentContext removeFromViews:YES]; } }