winemac: Check the window's display link after adding it as a child of another window, which may order it on screen.

This fixes a problem where child windows ("owned" windows in Windows
parlance) would never display their contents on OS X 10.8 or earlier.
Beginning with 10.9, Cocoa calls -windowDidChangeOcclusionState: when
the window becomes visible, which is why they display on that version
and later.

Reported by Huw Davies.

Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Ken Thomases 2015-11-09 20:31:21 -06:00 committed by Alexandre Julliard
parent fab0593692
commit d6574111c2
1 changed files with 1 additions and 0 deletions

View File

@ -1041,6 +1041,7 @@ - (BOOL) addChildWineWindow:(WineWindow*)child assumeVisible:(BOOL)assumeVisible
if ([self level] > [child level]) if ([self level] > [child level])
[child setLevel:[self level]]; [child setLevel:[self level]];
[self addChildWindow:child ordered:NSWindowAbove]; [self addChildWindow:child ordered:NSWindowAbove];
[child checkWineDisplayLink];
[latentChildWindows removeObjectIdenticalTo:child]; [latentChildWindows removeObjectIdenticalTo:child];
child.latentParentWindow = nil; child.latentParentWindow = nil;
reordered = TRUE; reordered = TRUE;