From 682ed91017e6aa043feaf0c70a34118445e65d1e Mon Sep 17 00:00:00 2001 From: Ken Thomases Date: Wed, 20 Nov 2013 15:35:37 -0600 Subject: [PATCH] winemac: Defer attaching OpenGL context to a view which is zero-sized or outside its window's bounds. That fails with the dread "invalid drawable" message. --- dlls/winemac.drv/cocoa_opengl.m | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dlls/winemac.drv/cocoa_opengl.m b/dlls/winemac.drv/cocoa_opengl.m index b678cae3ce0..45799dba539 100644 --- a/dlls/winemac.drv/cocoa_opengl.m +++ b/dlls/winemac.drv/cocoa_opengl.m @@ -123,14 +123,15 @@ void macdrv_make_context_current(macdrv_opengl_context c, macdrv_view v) context.needsUpdate = FALSE; if (view) { - __block BOOL windowHasDevice; + __block BOOL viewIsValidDrawable; macdrv_add_view_opengl_context(v, c); OnMainThread(^{ - windowHasDevice = [[view window] windowNumber] > 0; + viewIsValidDrawable = [[view window] windowNumber] > 0 && + !NSIsEmptyRect([view visibleRect]); }); - if (windowHasDevice) + if (viewIsValidDrawable) { [context setView:view]; [context setLatentView:nil];