diff options
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java index 33cc37bce7..04be6d1a34 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java @@ -253,11 +253,16 @@ long /*int*/ cellDataProc (long /*int*/ tree_column, long /*int*/ cell, long /*i } if (modelIndex == -1) return 0; boolean setData = false; + boolean updated = false; if ((style & SWT.VIRTUAL) != 0) { if (!item.cached) { //lastIndexOf = index [0]; setData = checkData (item); } + if (item.updated) { + updated = true; + item.updated = false; + } } long /*int*/ [] ptr = new long /*int*/ [1]; if (setData) { @@ -309,7 +314,7 @@ long /*int*/ cellDataProc (long /*int*/ tree_column, long /*int*/ cell, long /*i } } } - if (setData) { + if (setData || updated) { ignoreCell = cell; setScrollWidth (tree_column, item); ignoreCell = 0; |