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/TabItem.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/TabItem.java')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java index ea4366a11e..cfa402f026 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java @@ -126,6 +126,11 @@ void deregister() { if (labelHandle != 0) display.removeWidget (labelHandle); } +void destroyWidget () { + parent.destroyItem (this); + releaseHandle (); +} + /** * Returns the control that is used to fill the client area of * the tab folder when the user selects the tab item. If no @@ -188,23 +193,18 @@ void register () { if (labelHandle != 0) display.addWidget (labelHandle, this); } -void releaseChild () { - super.releaseChild (); - int index = parent.indexOf (this); - if (index == parent.getSelectionIndex ()) { - if (control != null) control.setVisible (false); - } - parent.destroyItem (this); -} - void releaseHandle () { super.releaseHandle (); pageHandle = labelHandle = imageHandle = 0; + parent = null; } -void releaseWidget () { - super.releaseWidget (); - parent = null; +void releaseParent () { + super.releaseParent (); + int index = parent.indexOf (this); + if (index == parent.getSelectionIndex ()) { + if (control != null) control.setVisible (false); + } } /** |