You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2010/11/14 07:31:10 UTC

svn commit: r1034941 - /wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java

Author: ivaynberg
Date: Sun Nov 14 06:31:09 2010
New Revision: 1034941

URL: http://svn.apache.org/viewvc?rev=1034941&view=rev
Log:

Issue: WICKET-3166

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java?rev=1034941&r1=1034940&r2=1034941&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java Sun Nov 14 06:31:09 2010
@@ -2138,19 +2138,12 @@ public abstract class Component
 	 */
 	public final boolean isVisibleInHierarchy()
 	{
-		Component component = this;
-		while (component != null)
+		Component parent = getParent();
+		if (parent != null && !parent.isVisibleInHierarchy())
 		{
-			if (component.determineVisibility())
-			{
-				component = component.getParent();
-			}
-			else
-			{
-				return false;
-			}
+			return false;
 		}
-		return true;
+		return determineVisibility();
 	}
 
 	/**
@@ -4252,14 +4245,14 @@ public abstract class Component
 		Boolean state = getMetaData(ENABLED_IN_HIERARCHY_CACHE_KEY);
 		if (state == null)
 		{
-			state = isEnabled() && isEnableAllowed();
-			if (state)
+			Component parent = getParent();
+			if (parent != null && !parent.isEnabledInHierarchy())
 			{
-				Component parent = getParent();
-				if (parent != null)
-				{
-					state = state && parent.isEnabledInHierarchy();
-				}
+				state = false;
+			}
+			else
+			{
+				state = isEnabled() && isEnableAllowed();
 			}
 			setMetaData(ENABLED_IN_HIERARCHY_CACHE_KEY, state);
 		}