[PATCH] winemac.drv: Always call NSOpenGLContext::update from the main thread.
Sven Baars
sbaars at codeweavers.com
Wed Mar 11 10:41:24 CDT 2020
Signed-off-by: Sven Baars <sbaars at codeweavers.com>
---
This stops World of Tanks from hanging on Catalina. It is similar to
1261589c2cc68061d4bd9d41a387cd4979d7073c.
dlls/winemac.drv/cocoa_opengl.m | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/winemac.drv/cocoa_opengl.m b/dlls/winemac.drv/cocoa_opengl.m
index e60b0b388b8..6001b01be01 100644
--- a/dlls/winemac.drv/cocoa_opengl.m
+++ b/dlls/winemac.drv/cocoa_opengl.m
@@ -360,7 +360,13 @@ void macdrv_update_opengl_context(macdrv_opengl_context c)
context.view = view;
}
else
- [context update];
+ {
+ if ([NSThread isMainThread])
+ [context update];
+ else OnMainThread(^{
+ [context update];
+ });
+ }
[context resetSurfaceIfBackingSizeChanged];
}
}
--
2.25.0
More information about the wine-devel
mailing list