[PATCH 3/3] winemac: Remove an unnecessary call to -[NSView removeFromSuperview].

Ken Thomases ken at codeweavers.com
Fri Jun 3 00:06:50 CDT 2016

It's only obliquely documented, but -[NSView addSubview:positioned:relativeTo:]
will remove the view from its old superview if it's changing superviews.  If
it's just changing z-order within its current superview, it won't.

This avoids some flicker of OpenGL surfaces being removed and re-added.

Signed-off-by: Ken Thomases <ken at codeweavers.com>
 dlls/winemac.drv/cocoa_window.m | 1 -
 1 file changed, 1 deletion(-)

diff --git a/dlls/winemac.drv/cocoa_window.m b/dlls/winemac.drv/cocoa_window.m
index 0b975f2..d3b3c89 100644
--- a/dlls/winemac.drv/cocoa_window.m
+++ b/dlls/winemac.drv/cocoa_window.m
@@ -3354,7 +3354,6 @@ void macdrv_set_view_superview(macdrv_view v, macdrv_view s, macdrv_window w, ma
         WineWindow* oldWindow = (WineWindow*)[view window];
         WineWindow* newWindow = (WineWindow*)[superview window];
-        [view removeFromSuperview];
         if (prev)
             [superview addSubview:view positioned:NSWindowBelow relativeTo:prev];

More information about the wine-patches mailing list