From b46ad3b96bcc324b8e865a0ff6cb55269148d44b Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Sun, 15 Feb 2009 19:37:50 +0000 Subject: [PATCH] Fix for #2592 - Tabsheet icons sometimes disappear in IE svn changeset:6840/svn branch:trunk --- src/com/itmill/toolkit/terminal/gwt/client/ICaption.java | 2 +- 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); } } -- 2.39.5