Ken Thomases : winemac: When a window becomes ineligible to be a parent, make the relationship latent in its children, too.
Module: wine Branch: master Commit: a68d0a24ef4dc08a251efea55c6cac1d7a52d177 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a68d0a24ef4dc08a251efea55c... Author: Ken Thomases <ken(a)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
participants (1)
-
Alexandre Julliard