Module: wine Branch: master Commit: a68d0a24ef4dc08a251efea55c6cac1d7a52d177 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a68d0a24ef4dc08a251efea55c...
Author: Ken Thomases ken@codeweavers.com Date: Fri Aug 30 00:00:53 2013 -0500
winemac: When a window becomes ineligible to be a parent, make the relationship latent in its children, too.
---
dlls/winemac.drv/cocoa_window.m | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/dlls/winemac.drv/cocoa_window.m b/dlls/winemac.drv/cocoa_window.m index fdc33de..1977ca0 100644 --- a/dlls/winemac.drv/cocoa_window.m +++ b/dlls/winemac.drv/cocoa_window.m @@ -712,11 +712,23 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers) - (void) becameIneligibleParentOrChild { WineWindow* parent = (WineWindow*)[self parentWindow]; + NSArray* childWindows = [self childWindows]; + if (parent) { self.latentParentWindow = parent; [parent removeChildWindow:self]; } + + if ([childWindows count]) + { + WineWindow* child; + for (child in [[childWindows copy] autorelease]) + { + child.latentParentWindow = self; + [self removeChildWindow:child]; + } + } }
// Determine if, among Wine windows, this window is directly above or below