summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2013-04-24 11:29:36 +0300
committerLeif Åstrand <leif@vaadin.com>2013-04-24 11:29:36 +0300
commitcb7b02d4e50e91b9377410e79c3578587a900d94 (patch)
treeb74f004f34f4626bfeaa1846e697ef1ed3b61eb5
parent7900166360dac2d2ae8885e0151f46cad472805f (diff)
downloadvaadin-framework-cb7b02d4e50e91b9377410e79c3578587a900d94.tar.gz
vaadin-framework-cb7b02d4e50e91b9377410e79c3578587a900d94.zip
Assert that connector needing layout is attached (#11698)
Change-Id: Ie2d1ec330b857497c7673f3805e35b452f409f3c
-rw-r--r--client/src/com/vaadin/client/LayoutManager.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/client/src/com/vaadin/client/LayoutManager.java b/client/src/com/vaadin/client/LayoutManager.java
index 14b155c92f..381aff5afa 100644
--- a/client/src/com/vaadin/client/LayoutManager.java
+++ b/client/src/com/vaadin/client/LayoutManager.java
@@ -827,6 +827,7 @@ public class LayoutManager {
* the managed layout that should be layouted
*/
public final void setNeedsHorizontalLayout(ManagedLayout layout) {
+ assert isAttached(layout);
needsHorizontalLayout.add(layout.getConnectorId());
}
@@ -842,9 +843,21 @@ public class LayoutManager {
* the managed layout that should be layouted
*/
public final void setNeedsVerticalLayout(ManagedLayout layout) {
+ assert isAttached(layout);
needsVerticalLayout.add(layout.getConnectorId());
}
+ private boolean isAttached(ServerConnector connector) {
+ while (connector != null) {
+ connector = connector.getParent();
+ if (connector == connection.getUIConnector()) {
+ return true;
+ }
+ }
+ // Reaching null parent before reaching UI connector -> not attached
+ return false;
+ }
+
/**
* Gets the outer height (including margins, paddings and borders) of the
* given element, provided that it has been measured. These elements are