Ken Thomases : winemac: Defer attaching OpenGL context to a view which is zero-sized or outside its window 's bounds.
Alexandre Julliard
julliard at winehq.org
Fri Jan 10 14:44:56 CST 2014
Module: wine
Branch: stable
Commit: 33b077477ac8d875ef7fa56fbb91349741202000
URL: http://source.winehq.org/git/wine.git/?a=commit;h=33b077477ac8d875ef7fa56fbb91349741202000
Author: Ken Thomases <ken at 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];
More information about the wine-cvs
mailing list