Module: wine Branch: stable Commit: 33b077477ac8d875ef7fa56fbb91349741202000 URL: http://source.winehq.org/git/wine.git/?a=commit;h=33b077477ac8d875ef7fa56fbb...
Author: Ken Thomases ken@codeweavers.com Date: Wed Nov 20 15:35:37 2013 -0600
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.
(cherry picked from commit 682ed91017e6aa043feaf0c70a34118445e65d1e)
---
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 b678cae..45799db 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];