Ken Thomases : winemac: Defer attaching OpenGL context to a view which is zero-sized or outside its window 's bounds.
Module: wine Branch: master Commit: 682ed91017e6aa043feaf0c70a34118445e65d1e URL: http://source.winehq.org/git/wine.git/?a=commit;h=682ed91017e6aa043feaf0c70a... Author: Ken Thomases <ken(a)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. --- dlls/winemac.drv/cocoa_opengl.m | 7 ++++--- 1 files 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];
participants (1)
-
Alexandre Julliard