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); }