Ken Thomases : winemac: When a window becomes ineligible to be a parent, make the relationship latent in its children, too.
Alexandre Julliard
julliard at winehq.org
Fri Aug 30 11:00:37 CDT 2013
Module: wine
Branch: master
Commit: a68d0a24ef4dc08a251efea55c6cac1d7a52d177
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a68d0a24ef4dc08a251efea55c6cac1d7a52d177
Author: Ken Thomases <ken at 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
More information about the wine-cvs
mailing list