From b8d338edfbb62a347d02667b4ea457368f72ee36 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Fri, 6 Feb 2009 14:24:13 +0000 Subject: [PATCH] fixes #2503 and "broken shadow" issue in IE7, never add absolutely positioned element to dom in IE7 unless the parent size is defined svn changeset:6754/svn branch:trunk --- .../terminal/gwt/client/ui/IToolkitOverlay.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IToolkitOverlay.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IToolkitOverlay.java index 95b94903dd..53862675eb 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IToolkitOverlay.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IToolkitOverlay.java @@ -132,9 +132,6 @@ public class IToolkitOverlay extends PopupPanel { public void show() { super.show(); if (shadow != null) { - DOM - .insertBefore(RootPanel.get().getElement(), shadow, - getElement()); if (isAnimationEnabled()) { ShadowAnimation sa = new ShadowAnimation(); sa.run(200); @@ -211,10 +208,9 @@ public class IToolkitOverlay extends PopupPanel { */ private void updateShadowSizeAndPosition(double progress) { // Don't do anything if overlay element is not attached - if (!isAttached()) { + if (!isAttached() || !isVisible()) { return; } - // Calculate proper z-index String zIndex = null; try { @@ -267,6 +263,12 @@ public class IToolkitOverlay extends PopupPanel { DOM.setStyleAttribute(shadow, "height", height + "px"); DOM.setStyleAttribute(shadow, "top", y + "px"); DOM.setStyleAttribute(shadow, "left", x + "px"); + + // attach to dom if not there already + if (shadow.getParentElement() == null) { + RootPanel.get().getElement().insertBefore(shadow, getElement()); + } + } protected class ShadowAnimation extends Animation { -- 2.39.5