Bug 489385: [GTK3] Tree/Table#computeSize(..) returns too small minimal height
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
index be61ba6..991d930 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
@@ -494,12 +494,12 @@
 	if (size.x == 0 && wHint == SWT.DEFAULT) size.x = DEFAULT_WIDTH;
 
 	/*
-	 * in GTK 3.8 computeNativeSize returning 0 for height.
-	 * So if the height is returned as zero calculate the table height
-	 * based on the number of items in the table
+	 * In GTK 3, computeNativeSize(..) sometimes just returns the header
+	 * height as height. In that case, calculate the table height based on
+	 * the number of items in the table.
 	 */
-	if (OS.GTK3 && size.y == 0 && hHint == SWT.DEFAULT) {
-		size.y = getItemCount() * getItemHeight();
+	if (OS.GTK3 && hHint == SWT.DEFAULT && size.y == getHeaderHeight()) {
+		size.y = getItemCount() * getItemHeight() + getHeaderHeight();
 	}
 
 	/*
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 9023e6d..c70aa25 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
@@ -546,12 +546,12 @@
 	if (size.x == 0 && wHint == SWT.DEFAULT) size.x = DEFAULT_WIDTH;
 
 	/*
-	 * in GTK 3.8 computeNativeSize returning 0 for height.
-	 * So if the height is returned as zero calculate the tree height
-	 * based on the number of items in the table
+	 * In GTK 3, computeNativeSize(..) sometimes just returns the header
+	 * height as height. In that case, calculate the table height based on
+	 * the number of items in the table.
 	 */
-	if (OS.GTK3 && size.y == 0 && hHint == SWT.DEFAULT) {
-		size.y = getItemCount() * getItemHeight();
+	if (OS.GTK3 && hHint == SWT.DEFAULT && size.y == getHeaderHeight()) {
+		size.y = getItemCount() * getItemHeight() + getHeaderHeight();
 	}
 
 	/*