diff options
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandBar.java')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandBar.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandBar.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandBar.java index c6f7003860..1bdae2b97b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandBar.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandBar.java @@ -453,7 +453,14 @@ void setScrollbar () { OS.gtk_adjustment_changed (adjustmentHandle); int policy = maxHeight > height ? OS.GTK_POLICY_ALWAYS : OS.GTK_POLICY_NEVER; OS.gtk_scrolled_window_set_policy (scrolledHandle, OS.GTK_POLICY_NEVER, policy); - int width = OS.GTK_WIDGET_WIDTH (fixedHandle) - spacing * 2; + int width = 0; + GtkAllocation allocation = new GtkAllocation (); + if (OS.GTK_VERSION >= OS.VERSION (2, 18, 0)) { + OS.gtk_widget_get_allocation(fixedHandle, allocation); + width = allocation.width - spacing * 2; + } else { + width = OS.GTK_WIDGET_WIDTH (fixedHandle) - spacing * 2; + } if (policy == OS.GTK_POLICY_ALWAYS) { int /*long*/ vHandle = 0; if (OS.GTK_VERSION < OS.VERSION(2, 8, 0)) { |