summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSilenio Quarti <silenio>2005-10-19 22:33:47 +0000
committerSilenio Quarti <silenio>2005-10-19 22:33:47 +0000
commit068cfa0a5eeab22523547e6324d2916c3eb036d4 (patch)
tree624003706b90b3a951a7b3907c79c282ba95d313
parentbf225c1008125f637557b1a30bcff4467cee116f (diff)
downloadeclipse.platform.swt-068cfa0a5eeab22523547e6324d2916c3eb036d4.tar.gz
eclipse.platform.swt-068cfa0a5eeab22523547e6324d2916c3eb036d4.tar.xz
eclipse.platform.swt-068cfa0a5eeab22523547e6324d2916c3eb036d4.zip
fixing junit test setSelection(new Treeitem[]{null})
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Tree.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Tree.java
index 15c1ec6172..24bc5f13f3 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Tree.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Tree.java
@@ -2384,12 +2384,14 @@ public void setSelection (TreeItem [] items) {
deselectAll ();
int length = items.length;
if (length == 0 || ((style & SWT.SINGLE) != 0 && length > 1)) return;
+ int count = 0;
int[] ids = new int [length];
for (int i=0; i<length; i++) {
- if (items [i] == null) error (SWT.ERROR_INVALID_ARGUMENT);
- if (items [i].isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
- ids [i] = items [i].id;
- showItem (items [i], false);
+ if (items [i] != null) {
+ if (items [i].isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
+ ids [count++] = items [i].id;
+ showItem (items [i], false);
+ }
}
ignoreSelect = true;
/*
@@ -2407,12 +2409,12 @@ public void setSelection (TreeItem [] items) {
OS.GetDataBrowserSelectionFlags (handle, selectionFlags);
OS.SetDataBrowserSelectionFlags (handle, selectionFlags [0] & ~OS.kDataBrowserNeverEmptySelectionSet);
}
- OS.SetDataBrowserSelectedItems (handle, ids.length, ids, OS.kDataBrowserItemsAssign);
+ OS.SetDataBrowserSelectedItems (handle, count, ids, OS.kDataBrowserItemsAssign);
if ((style & SWT.SINGLE) != 0) {
OS.SetDataBrowserSelectionFlags (handle, selectionFlags [0]);
}
ignoreSelect = false;
- if (length > 0) showItem (items [0], true);
+ if (length > 0 && items [0] != null) showItem (items [0], true);
}
/**