summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Northover <steve>2005-03-28 23:21:21 +0000
committerSteve Northover <steve>2005-03-28 23:21:21 +0000
commitcb4c443078f88ec67c1276ca9ce5230437607e3a (patch)
tree4e84803d594296737659c374190c627be32fab35
parent38ec452391748057ba436b43e0afe7f8721add80 (diff)
downloadeclipse.platform.swt-cb4c443078f88ec67c1276ca9ce5230437607e3a.tar.gz
eclipse.platform.swt-cb4c443078f88ec67c1276ca9ce5230437607e3a.tar.xz
eclipse.platform.swt-cb4c443078f88ec67c1276ca9ce5230437607e3a.zip
get rid of in-line releaseChild()
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/TreeItem.java9
1 files changed, 3 insertions, 6 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/TreeItem.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/TreeItem.java
index 98ab619688..5e1db0f451 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/TreeItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/TreeItem.java
@@ -795,8 +795,7 @@ public void removeAll () {
checkWidget ();
int hwnd = parent.handle;
int hItem = OS.SendMessage (hwnd, OS.TVM_GETNEXTITEM, OS.TVGN_CHILD, handle);
- if (hItem == 0) return;
-
+ if (hItem == 0) return;
TVITEM tvItem = new TVITEM ();
tvItem.mask = OS.TVIF_HANDLE | OS.TVIF_PARAM;
tvItem.hItem = hItem;
@@ -804,10 +803,8 @@ public void removeAll () {
OS.SendMessage (hwnd, OS.TVM_GETITEM, 0, tvItem);
TreeItem item = parent.items [tvItem.lParam];
tvItem.hItem = OS.SendMessage (hwnd, OS.TVM_GETNEXTITEM, OS.TVGN_NEXT, tvItem.hItem);
- if (item != null) {
- item.releaseChild ();
- item.releaseWidget ();
- item.destroyWidget ();
+ if (item != null && !item.isDisposed ()) {
+ item.dispose ();
}
}
}