Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 509455
Collapse All | Expand All

(-)a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java (-1 / +8 lines)
Lines 136-149 Point computeSizeInPixels (int wHint, int hHint, boolean changed) { Link Here
136
	if (fixWrap) {
136
	if (fixWrap) {
137
		long /*int*/ labelLayout = OS.gtk_label_get_layout (labelHandle);
137
		long /*int*/ labelLayout = OS.gtk_label_get_layout (labelHandle);
138
		int pangoWidth = OS.pango_layout_get_width (labelLayout);
138
		int pangoWidth = OS.pango_layout_get_width (labelLayout);
139
		GtkBorder padding = new GtkBorder ();
140
		if (OS.GTK3) {
141
			long /*int*/ styleContext = OS.gtk_widget_get_style_context (labelHandle);
142
			OS.gtk_style_context_get_padding (styleContext, OS.GTK_STATE_FLAG_NORMAL, padding);
143
		}
139
		if (wHint != SWT.DEFAULT) {
144
		if (wHint != SWT.DEFAULT) {
140
			OS.pango_layout_set_width (labelLayout, wHint * OS.PANGO_SCALE);
145
			OS.pango_layout_set_width (labelLayout, Math.max(0, wHint - padding.left - padding.right) * OS.PANGO_SCALE);
141
		} else {
146
		} else {
142
			OS.pango_layout_set_width (labelLayout, -1);
147
			OS.pango_layout_set_width (labelLayout, -1);
143
		}
148
		}
144
		int [] w = new int [1], h = new int [1];
149
		int [] w = new int [1], h = new int [1];
145
		OS.pango_layout_get_pixel_size (labelLayout, w, h);
150
		OS.pango_layout_get_pixel_size (labelLayout, w, h);
146
		OS.pango_layout_set_width (labelLayout, pangoWidth);
151
		OS.pango_layout_set_width (labelLayout, pangoWidth);
152
		w [0] += padding.left + padding.right;
153
		h [0] += padding.top + padding.bottom;
147
		if (frameHandle != 0) {
154
		if (frameHandle != 0) {
148
			int [] labelWidth = new int [1], labelHeight = new int [1];
155
			int [] labelWidth = new int [1], labelHeight = new int [1];
149
			OS.gtk_widget_get_size_request (labelHandle, labelWidth, labelHeight);
156
			OS.gtk_widget_get_size_request (labelHandle, labelWidth, labelHeight);

Return to bug 509455