summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/ui/AbstractComponent.java
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/com/vaadin/ui/AbstractComponent.java')
-rw-r--r--server/src/com/vaadin/ui/AbstractComponent.java9
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.