From 46cd961226a1513a4dc385a3b265a4ed36a1aeac Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Fri, 12 Nov 2010 16:35:26 +0000 Subject: [PATCH] Fix for #5987 - RequestLayout is called for widgets that are not attached to the DOM svn changeset:15979/svn branch:6.5 --- src/com/vaadin/terminal/gwt/client/Util.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/com/vaadin/terminal/gwt/client/Util.java b/src/com/vaadin/terminal/gwt/client/Util.java index 5afbd2f15c..98caac153b 100644 --- a/src/com/vaadin/terminal/gwt/client/Util.java +++ b/src/com/vaadin/terminal/gwt/client/Util.java @@ -114,19 +114,24 @@ public class Util { * Called when the size of one or more widgets have changed during * rendering. Finds parent container and notifies them of the size change. * - * @param widgets + * @param paintables */ - public static void componentSizeUpdated(Set widgets) { - if (widgets.isEmpty()) { + public static void componentSizeUpdated(Set paintables) { + if (paintables.isEmpty()) { return; } Map> childWidgets = new HashMap>(); - for (Paintable widget : widgets) { + for (Paintable paintable : paintables) { + Widget widget = (Widget) paintable; + if (!widget.isAttached()) { + continue; + } + // ApplicationConnection.getConsole().log( // "Widget " + Util.getSimpleName(widget) + " size updated"); - Widget parent = ((Widget) widget).getParent(); + Widget parent = widget.getParent(); while (parent != null && !(parent instanceof Container)) { parent = parent.getParent(); } @@ -136,7 +141,7 @@ public class Util { set = new HashSet(); childWidgets.put((Container) parent, set); } - set.add(widget); + set.add(paintable); } } -- 2.39.5