*** empty log message ***
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/Tree.java
index 121f923..e9de837 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/Tree.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/Tree.java
@@ -942,8 +942,10 @@
/* Determine the TreeItems to be painted */
int startIndex = (clipping.y - getHeaderHeight ()) / itemHeight + topIndex;
- if (!(0 <= startIndex && startIndex < availableItems.length)) return; /* no items to paint */
+ if (availableItems.length < startIndex) return; /* no items to paint */
int endIndex = startIndex + Compatibility.ceil (clipping.height, itemHeight);
+ if (endIndex < 0) return; /* no items to paint */
+ startIndex = Math.max (0, startIndex);
endIndex = Math.min (endIndex, availableItems.length - 1);
int current = 0;
for (int i = startIndex; i <= endIndex; i++) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/TreeColumn.java b/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/TreeColumn.java
index 530a2f4..1cb6268 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/TreeColumn.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/emulated/treetable/org/eclipse/swt/widgets/TreeColumn.java
@@ -90,6 +90,10 @@
checkWidget ();
return parent;
}
+int getPreferredWidth () {
+ if (!parent.getHeaderVisible ()) return 0;
+ return 0; // TODO
+}
public boolean getResizable () {
checkWidget ();
return resizable;
@@ -150,7 +154,7 @@
TreeItem[] availableItems = parent.availableItems;
if (availableItems.length == 0) return;
int index = getIndex ();
- int width = -1;
+ int width = getPreferredWidth ();
for (int i = 0; i < availableItems.length; i++) {
width = Math.max (width, availableItems [i].getPreferredWidth (index));
}