diff options
author | Artur Signell <artur.signell@itmill.com> | 2009-02-15 19:37:50 +0000 |
---|---|---|
committer | Artur Signell <artur.signell@itmill.com> | 2009-02-15 19:37:50 +0000 |
commit | b46ad3b96bcc324b8e865a0ff6cb55269148d44b (patch) | |
tree | 19bd7210608894ca03b71470e0ce187bddc60906 | |
parent | 1309bd8ff04c91498bb64c8cdf5353141922c8bc (diff) | |
download | vaadin-framework-b46ad3b96bcc324b8e865a0ff6cb55269148d44b.tar.gz vaadin-framework-b46ad3b96bcc324b8e865a0ff6cb55269148d44b.zip |
Fix for #2592 - Tabsheet icons sometimes disappear in IE
svn changeset:6840/svn branch:trunk
-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); } } |