summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java
index cd0717f124..f897e09350 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java
@@ -1987,7 +1987,16 @@ void setWindowVisible (boolean visible, boolean key) {
sendEvent (SWT.Hide);
}
+ if (isDisposed()) return;
display.updateQuitMenu();
+
+ if (isDisposed()) return;
+ NSView[] hitView = new NSView[1];
+ Control control = display.findControl (false, hitView);
+ if (control != null && (!control.isActive() || !control.isEnabled())) control = null;
+ Control trimControl = control;
+ if (trimControl != null && trimControl.isTrim (hitView[0])) trimControl = null;
+ display.checkEnterExit (trimControl, null, false);
}
void setZOrder () {