From: Leif Åstrand Date: Wed, 21 Mar 2012 13:32:16 +0000 (+0200) Subject: Force reflow in IE8 to detect icon style (#8313) X-Git-Tag: 7.0.0.alpha2~260 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e43fe0d96f6bd1b4083dd60ff5e6a490da6c1d4f;p=vaadin-framework.git Force reflow in IE8 to detect icon style (#8313) --- 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"); + } } } }