aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/terminal
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/vaadin/terminal')
-rw-r--r--src/com/vaadin/terminal/gwt/client/ConnectorMap.java9
1 files changed, 8 insertions, 1 deletions
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);
+ }
}
}
}