From 1d3d28469ad02ed84abb743fc3bd367408ea737b Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Tue, 20 Mar 2012 12:01:50 +0200 Subject: [PATCH] #8500 Avoid unregistering components that have been moved from one connector to another --- src/com/vaadin/terminal/gwt/client/ConnectorMap.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/com/vaadin/terminal/gwt/client/ConnectorMap.java b/src/com/vaadin/terminal/gwt/client/ConnectorMap.java index 4f8b5701cf..6eb58940bf 100644 --- a/src/com/vaadin/terminal/gwt/client/ConnectorMap.java +++ b/src/com/vaadin/terminal/gwt/client/ConnectorMap.java @@ -194,7 +194,14 @@ public class ConnectorMap { if (connector instanceof ComponentContainerConnector) { for (ComponentConnector child : ((ComponentContainerConnector) connector) .getChildren()) { - unregisterConnector(child); + if (child.getParent() == connector) { + // Only unregister children that are actually connected to + // this parent. For instance when moving connectors from one + // layout to another and removing the first layout it will + // still contain references to its old children, which are + // now attached to another connector. + unregisterConnector(child); + } } } } -- 2.39.5