diff options
author | Steve Northover <steve> | 2005-08-09 22:11:06 +0000 |
---|---|---|
committer | Steve Northover <steve> | 2005-08-09 22:11:06 +0000 |
commit | bf23089befb70064444a317792f096ff1dd200b6 (patch) | |
tree | decd38b32aa41f17dc344c66200761b03d4159b5 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java | |
parent | 1bd4a6d238f246b1a33b1e165b82bcbcf963d2f9 (diff) | |
download | eclipse.platform.swt-bf23089befb70064444a317792f096ff1dd200b6.tar.gz eclipse.platform.swt-bf23089befb70064444a317792f096ff1dd200b6.tar.xz eclipse.platform.swt-bf23089befb70064444a317792f096ff1dd200b6.zip |
45708 & 4862 - recursive dispose
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java index 356e3149c4..71b230b357 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java @@ -478,8 +478,16 @@ public boolean isEnabled () { return getEnabled () && parent.isEnabled (); } -void releaseChild () { - super.releaseChild (); +void releaseChildren (boolean destroy) { + if (menu != null) { + menu.releaseChildren (false); + menu = null; + } + super.releaseChildren (destroy); +} + +void releaseParent () { + super.releaseParent (); if (menu != null) { if (menu.selectedItem == this) menu.selectedItem = null; menu.dispose (); @@ -488,8 +496,6 @@ void releaseChild () { } void releaseWidget () { - if (menu != null) menu.releaseResources (); - menu = null; super.releaseWidget (); int /*long*/ accelGroup = getAccelGroup (); if (accelGroup != 0) removeAccelerator (accelGroup); |