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


Reply via email to