summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Northover <steve>2005-11-01 00:19:51 +0000
committerSteve Northover <steve>2005-11-01 00:19:51 +0000
commitc57ed9094f6f531c22b4620db002667499aceb23 (patch)
tree3999e74eb520ae62a02aafd0efe4d9d0fccaca47
parenteee97e55c55d62036734d36ddf7c89a6d7d0ccc7 (diff)
downloadeclipse.platform.swt-c57ed9094f6f531c22b4620db002667499aceb23.tar.gz
eclipse.platform.swt-c57ed9094f6f531c22b4620db002667499aceb23.tar.xz
eclipse.platform.swt-c57ed9094f6f531c22b4620db002667499aceb23.zip
112390 - [Viewers] JUnit error in JFacePerformanceSuitev3212a
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java10
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/TreeItem.java24
2 files changed, 18 insertions, 16 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
index 112c6d9b6f..2d11eaf584 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
@@ -1202,8 +1202,11 @@ void enableWidget (boolean enabled) {
int findIndex (int hFirstItem, int hItem) {
if (hFirstItem == 0) return -1;
if (hFirstItem == hFirstIndexOf) {
- if (hFirstIndexOf == hItem) return 0;
if (hLastIndexOf == hItem) return lastIndexOf;
+ if (hFirstIndexOf == hItem) {
+ hLastIndexOf = hFirstIndexOf;
+ return lastIndexOf = 0;
+ }
int hPrevItem = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_PREVIOUS, hLastIndexOf);
if (hPrevItem == hItem) {
hLastIndexOf = hPrevItem;
@@ -1260,8 +1263,11 @@ Widget findItem (int id) {
int findItem (int hFirstItem, int index) {
if (hFirstItem == 0) return 0;
if (hFirstItem == hFirstIndexOf) {
- if (index == 0) return hFirstItem;
if (lastIndexOf == index) return hLastIndexOf;
+ if (index == 0) {
+ lastIndexOf = 0;
+ return hLastIndexOf = hFirstIndexOf;
+ }
if (lastIndexOf - 1 == index) {
--lastIndexOf;
return hLastIndexOf = OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_PREVIOUS, hLastIndexOf);
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 1a6e15caaa..78320cad00 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
@@ -201,27 +201,23 @@ static TreeItem checkNull (TreeItem item) {
static int findPrevious (Tree parent, int index) {
if (parent == null) return 0;
if (index < 0) SWT.error (SWT.ERROR_INVALID_RANGE);
- int hItem = OS.TVI_FIRST;
- if (index != 0) {
- int hwnd = parent.handle;
- int hFirstItem = OS.SendMessage (hwnd, OS.TVM_GETNEXTITEM, OS.TVGN_ROOT, 0);
- hItem = parent.findItem (hFirstItem, index - 1);
- if (hItem == 0) SWT.error (SWT.ERROR_INVALID_RANGE);
- }
+ if (index == 0) return OS.TVI_FIRST;
+ int hwnd = parent.handle;
+ int hFirstItem = OS.SendMessage (hwnd, OS.TVM_GETNEXTITEM, OS.TVGN_ROOT, 0);
+ int hItem = parent.findItem (hFirstItem, index - 1);
+ if (hItem == 0) SWT.error (SWT.ERROR_INVALID_RANGE);
return hItem;
}
static int findPrevious (TreeItem parentItem, int index) {
if (parentItem == null) return 0;
if (index < 0) SWT.error (SWT.ERROR_INVALID_RANGE);
+ if (index == 0) return OS.TVI_FIRST;
Tree parent = parentItem.parent;
- int hItem = OS.TVI_FIRST, hParent = parentItem.handle;
- if (index != 0) {
- int hwnd = parent.handle;
- int hFirstItem = OS.SendMessage (hwnd, OS.TVM_GETNEXTITEM, OS.TVGN_CHILD, hParent);
- hItem = parent.findItem (hFirstItem, index - 1);
- if (hItem == 0) SWT.error (SWT.ERROR_INVALID_RANGE);
- }
+ int hwnd = parent.handle, hParent = parentItem.handle;
+ int hFirstItem = OS.SendMessage (hwnd, OS.TVM_GETNEXTITEM, OS.TVGN_CHILD, hParent);
+ int hItem = parent.findItem (hFirstItem, index - 1);
+ if (hItem == 0) SWT.error (SWT.ERROR_INVALID_RANGE);
return hItem;
}