summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java
diff options
context:
space:
mode:
authorVeronika Irvine <veronika>2006-01-25 18:24:26 +0000
committerVeronika Irvine <veronika>2006-01-25 18:24:26 +0000
commitdff246353fc1b99dece2351383557247adc25bf9 (patch)
treeff869d3c57145eead1ff7d38819041921051809b /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java
parent86ec4e649ba5245474ded73180816420629ac01d (diff)
downloadeclipse.platform.swt-dff246353fc1b99dece2351383557247adc25bf9.tar.gz
eclipse.platform.swt-dff246353fc1b99dece2351383557247adc25bf9.tar.xz
eclipse.platform.swt-dff246353fc1b99dece2351383557247adc25bf9.zip
send SetData event when getItem(int), getItems() or getItemCount() called
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java
index 344a83c173..36b615b5c6 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java
@@ -750,6 +750,7 @@ public Rectangle getImageBounds (int index) {
*/
public int getItemCount () {
checkWidget();
+ if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
return OS.gtk_tree_model_iter_n_children (parent.modelHandle, handle);
}
@@ -772,9 +773,10 @@ public int getItemCount () {
*/
public TreeItem getItem (int index) {
checkWidget();
- if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (parent.modelHandle, handle))) {
- error (SWT.ERROR_INVALID_RANGE);
- }
+ if (index < 0) error (SWT.ERROR_INVALID_RANGE);
+ if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
+ int itemCount = OS.gtk_tree_model_iter_n_children (parent.modelHandle, handle);
+ if (index >= itemCount) error (SWT.ERROR_INVALID_RANGE);
return parent._getItem (handle, index);
}
@@ -796,6 +798,7 @@ public TreeItem getItem (int index) {
*/
public TreeItem [] getItems () {
checkWidget();
+ if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
return parent.getItems (handle);
}