From 041f59350cd4f483fbfb1b899d61697e67080d26 Mon Sep 17 00:00:00 2001 From: Ken Thomases Date: Sun, 25 Mar 2018 20:45:22 -0500 Subject: [PATCH] winemac: Reenable window autodisplay when the frame is set and redisplayed. Cocoa will draw the window frame immediately but if autodisplay of its content view is disabled, that may leave the content area black briefly. This change avoids that flicker. Signed-off-by: Ken Thomases Signed-off-by: Alexandre Julliard --- dlls/winemac.drv/cocoa_window.m | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dlls/winemac.drv/cocoa_window.m b/dlls/winemac.drv/cocoa_window.m index 991db57f4f6..b94b7748adb 100644 --- a/dlls/winemac.drv/cocoa_window.m +++ b/dlls/winemac.drv/cocoa_window.m @@ -2456,6 +2456,20 @@ - (void) displayIfNeeded [self setAutodisplay:NO]; } + - (void) setFrame:(NSRect)frameRect display:(BOOL)flag + { + if (flag) + [self setAutodisplay:YES]; + [super setFrame:frameRect display:flag]; + } + + - (void) setFrame:(NSRect)frameRect display:(BOOL)displayFlag animate:(BOOL)animateFlag + { + if (displayFlag) + [self setAutodisplay:YES]; + [super setFrame:frameRect display:displayFlag animate:animateFlag]; + } + - (void) windowDidDrawContent { if (!drawnSinceShown)