diff --git a/dlls/winemac.drv/cocoa_opengl.m b/dlls/winemac.drv/cocoa_opengl.m index e1aca7784c1..ec2b19198c2 100644 --- a/dlls/winemac.drv/cocoa_opengl.m +++ b/dlls/winemac.drv/cocoa_opengl.m @@ -227,18 +227,15 @@ void macdrv_make_context_current(macdrv_opengl_context c, macdrv_view v) { WineOpenGLContext* currentContext = (WineOpenGLContext*)[WineOpenGLContext currentContext]; - [context removeFromViews:YES]; - - if (currentContext != context) + if ([currentContext isKindOfClass:[WineOpenGLContext class]]) { - if (context) - [context makeCurrentContext]; - else - [WineOpenGLContext clearCurrentContext]; - - if ([currentContext isKindOfClass:[WineOpenGLContext class]]) + [WineOpenGLContext clearCurrentContext]; + if (currentContext != context) [currentContext removeFromViews:YES]; } + + if (context) + [context removeFromViews:YES]; } [pool release]; diff --git a/dlls/winemac.drv/opengl.c b/dlls/winemac.drv/opengl.c index f0c70481d2c..ab79a825bba 100644 --- a/dlls/winemac.drv/opengl.c +++ b/dlls/winemac.drv/opengl.c @@ -3057,13 +3057,7 @@ static BOOL macdrv_wglMakeContextCurrentARB(HDC draw_hdc, HDC read_hdc, struct w return TRUE; } - if (!draw_hdc && !read_hdc) - { - context->draw_hwnd = NULL; - context->draw_view = NULL; - context->draw_pbuffer = NULL; - } - else if ((hwnd = WindowFromDC(draw_hdc))) + if ((hwnd = WindowFromDC(draw_hdc))) { if (!(data = get_win_data(hwnd))) {