diff options
Diffstat (limited to 'src/com/vaadin/terminal')
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/ConnectorMap.java | 9 |
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); + } } } } |