summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java
diff options
context:
space:
mode:
authorSteve Northover <steve>2005-08-09 22:11:06 +0000
committerSteve Northover <steve>2005-08-09 22:11:06 +0000
commitbf23089befb70064444a317792f096ff1dd200b6 (patch)
treedecd38b32aa41f17dc344c66200761b03d4159b5 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java
parent1bd4a6d238f246b1a33b1e165b82bcbcf963d2f9 (diff)
downloadeclipse.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.java14
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);