summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.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/TabItem.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/TabItem.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java24
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);
+ }
}
/**