diff options
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.java | 9 |
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 () { |