[PATCH] winemac: Fix failure to render OpenGL on macOS 10.14 (Mojave).
Ken Thomases
ken at codeweavers.com
Thu Feb 7 13:57:22 CST 2019
For programs linked against the macOS 10.14 SDK, Mojave makes all view
hierarchies layer-backed. For views to which OpenGL contexts have been
attached this caused a regression where they sometimes failed to render and
just remain black. Updating the OpenGL context after the framework has
assigned a layer to our view works around the problem. Thanks to Elviss
Strazdins on Stack Overflow for the solution
<https://stackoverflow.com/a/52938517/1312143>.
Signed-off-by: Ken Thomases <ken at codeweavers.com>
---
dlls/winemac.drv/cocoa_window.m | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/dlls/winemac.drv/cocoa_window.m b/dlls/winemac.drv/cocoa_window.m
index e405cda..f43b26b 100644
--- a/dlls/winemac.drv/cocoa_window.m
+++ b/dlls/winemac.drv/cocoa_window.m
@@ -747,6 +747,12 @@ - (void) willRemoveSubview:(NSView*)subview
[super willRemoveSubview:subview];
}
+ - (void) setLayer:(CALayer*)newLayer
+ {
+ [super setLayer:newLayer];
+ [self updateGLContexts];
+ }
+
/*
* ---------- NSTextInputClient methods ----------
*/
--
2.10.2
More information about the wine-devel
mailing list