You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2021/01/27 17:40:29 UTC

[wicket] branch wicket-8.x updated: WICKET-6863 clear visibileInHierarchy

This is an automated email from the ASF dual-hosted git repository.

svenmeier pushed a commit to branch wicket-8.x
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/wicket-8.x by this push:
     new bb5900d  WICKET-6863 clear visibileInHierarchy
bb5900d is described below

commit bb5900dcafe639c55e90f3341c99352a3632b6c0
Author: Sven Meier <sv...@apache.org>
AuthorDate: Wed Jan 27 18:24:16 2021 +0100

    WICKET-6863 clear visibileInHierarchy
    
    when visibilityAllowed changes
---
 wicket-core/src/main/java/org/apache/wicket/Component.java     | 6 +++++-
 wicket-core/src/test/java/org/apache/wicket/ComponentTest.java | 6 ++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java b/wicket-core/src/main/java/org/apache/wicket/Component.java
index 05f30dd..c1ae312 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Component.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
@@ -4319,7 +4319,11 @@ public abstract class Component
 	 */
 	public final Component setVisibilityAllowed(boolean allowed)
 	{
-		setFlag(FLAG_VISIBILITY_ALLOWED, allowed);
+		if (allowed != getFlag(FLAG_VISIBILITY_ALLOWED))
+		{
+			setFlag(FLAG_VISIBILITY_ALLOWED, allowed);
+			onVisibleStateChanged();
+		}
 		return this;
 	}
 
diff --git a/wicket-core/src/test/java/org/apache/wicket/ComponentTest.java b/wicket-core/src/test/java/org/apache/wicket/ComponentTest.java
index 587cb21..912382f 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ComponentTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/ComponentTest.java
@@ -273,6 +273,12 @@ public class ComponentTest extends WicketTestCase
 		c.isVisibleInHierarchy();
 		c.isVisibleInHierarchy();
 		assertEquals(2, c.isVisibleCallCount);
+		
+		c.setVisibilityAllowed(false);
+		
+		c.isVisibleInHierarchy();
+		c.isVisibleInHierarchy();
+		assertEquals(3, c.isVisibleCallCount);
 	}
 
 	/**