From e43fe0d96f6bd1b4083dd60ff5e6a490da6c1d4f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Leif=20=C3=85strand?= Date: Wed, 21 Mar 2012 15:32:16 +0200 Subject: [PATCH] Force reflow in IE8 to detect icon style (#8313) --- .../terminal/gwt/client/ui/VFilterSelect.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java b/src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java index 7fdcaff47c..a3c273260e 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java @@ -1605,9 +1605,20 @@ public class VFilterSelect extends Composite implements Field, KeyDownHandler, * Lock the textbox width to its current value if it's not already * locked */ - if (!tb.getElement().getStyle().getWidth().endsWith("px")) { + Style style = tb.getElement().getStyle(); + if (!style.getWidth().endsWith("px")) { + boolean isIE8 = BrowserInfo.get().isIE8(); + if (isIE8) { + // Must do something to make IE8 realize that it should + // reflow the component when the offset width is read + style.setProperty("zoom", "1"); + } tb.setWidth((tb.getOffsetWidth() - selectedItemIcon .getOffsetWidth()) + "px"); + if (isIE8) { + // Restore old style property value + style.clearProperty("zoom"); + } } } } -- 2.39.5