diff options
Diffstat (limited to 'server/src/com/vaadin/ui/AbstractComponent.java')
-rw-r--r-- | server/src/com/vaadin/ui/AbstractComponent.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/server/src/com/vaadin/ui/AbstractComponent.java b/server/src/com/vaadin/ui/AbstractComponent.java index 876a6c482d..63cf19283f 100644 --- a/server/src/com/vaadin/ui/AbstractComponent.java +++ b/server/src/com/vaadin/ui/AbstractComponent.java @@ -401,7 +401,14 @@ public abstract class AbstractComponent extends AbstractClientConnector } this.visible = visible; - markAsDirty(); + if (visible) { + /* + * If the visibility state is toggled from invisible to visible it + * affects all children (the whole hierarchy) in addition to this + * component. + */ + markAsDirtyRecursive(); + } if (getParent() != null) { // Must always repaint the parent (at least the hierarchy) when // visibility of a child component changes. |