diff options
-rw-r--r-- | src/com/itmill/toolkit/terminal/gwt/client/ICaption.java | 2 | ||||
-rw-r--r-- | src/com/itmill/toolkit/terminal/gwt/client/ui/Icon.java | 9 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ICaption.java b/src/com/itmill/toolkit/terminal/gwt/client/ICaption.java index d5d86c20dd..d3e12769ad 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ICaption.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ICaption.java @@ -95,8 +95,8 @@ public class ICaption extends HTML { } placedAfterComponent = false; - icon.setUri(uidl.getStringAttribute(ATTRIBUTE_ICON)); iconOnloadHandled = false; + icon.setUri(uidl.getStringAttribute(ATTRIBUTE_ICON)); } else if (icon != null) { // Remove existing diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/Icon.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/Icon.java index 5411ccb199..9b616af785 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/Icon.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/Icon.java @@ -28,11 +28,16 @@ public class Icon extends UIObject { public void setUri(String uidlUri) { if (!uidlUri.equals(myUri)) { + /* + * Start sinking onload events, widgets responsibility to react. We + * must do this BEFORE we set src as IE fires the event immediately + * if the image is found in cache (#2592). + */ + sinkEvents(Event.ONLOAD); + String uri = client.translateToolkitUri(uidlUri); DOM.setElementProperty(getElement(), "src", uri); myUri = uidlUri; - // start sinkin onload events, widgets responsibility to react - sinkEvents(Event.ONLOAD); } } |