diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java index 7c38314844f..f2ca24a22bc 100644 --- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java +++ b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java @@ -22,6 +22,7 @@ import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.ListenerList; +import org.eclipse.core.runtime.Platform.OS; import org.eclipse.swt.SWT; import org.eclipse.swt.events.FocusEvent; import org.eclipse.swt.events.FocusListener; @@ -287,7 +288,13 @@ protected void layout(Composite parent, boolean changed) { Point labelDefault = this.textLabelCache.computeSize(SWT.DEFAULT, SWT.DEFAULT); int tcWidthBeforeSplit = Math.min(width, tcDefault.x); - int labelWidthBeforeSplit = Math.min(width, labelDefault.x); + + int additionalLabelWidthPadding = 0; + if (OS.isWindows()) { + /* compensate rounding issue in windows */ + additionalLabelWidthPadding = 1; + } + int labelWidthBeforeSplit = Math.min(width, labelDefault.x + additionalLabelWidthPadding); int tcWidthAfterSplit = tcWidthBeforeSplit; int labelWidthAfterSplit = labelWidthBeforeSplit;