Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java7
1 files changed, 5 insertions, 2 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 0428943deb..31208e22d2 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
@@ -1620,8 +1620,11 @@ void checkBuffered () {
boolean checkData (TreeItem item, boolean redraw) {
if ((style & SWT.VIRTUAL) == 0) return true;
- TreeItem parentItem = item.getParentItem ();
- return checkData (item, parentItem == null ? indexOf (item) : parentItem.indexOf (item), redraw);
+ if (!item.cached) {
+ TreeItem parentItem = item.getParentItem ();
+ return checkData (item, parentItem == null ? indexOf (item) : parentItem.indexOf (item), redraw);
+ }
+ return true;
}
boolean checkData (TreeItem item, int index, boolean redraw) {

Back to the top