From 5ecce1f03a230da31fddc91008e76978ef90fa78 Mon Sep 17 00:00:00 2001
From: xue <>
Date: Sat, 10 Dec 2005 20:21:28 +0000
Subject: If a control is invisible, it's PreRender event will not be raised.

---
 framework/Web/UI/TControl.php | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

(limited to 'framework/Web')

diff --git a/framework/Web/UI/TControl.php b/framework/Web/UI/TControl.php
index 86397770..a4625d18 100644
--- a/framework/Web/UI/TControl.php
+++ b/framework/Web/UI/TControl.php
@@ -1040,12 +1040,15 @@ class TControl extends TComponent
 	 */
 	protected function preRenderRecursive()
 	{
-		$this->onPreRender(null);
-		if($this->getHasControls())
+		if($this->getVisible(false))
 		{
-			foreach($this->_rf[self::RF_CONTROLS] as $control)
-				if($control instanceof TControl)
-					$control->preRenderRecursive();
+			$this->onPreRender(null);
+			if($this->getHasControls())
+			{
+				foreach($this->_rf[self::RF_CONTROLS] as $control)
+					if($control instanceof TControl)
+						$control->preRenderRecursive();
+			}
 		}
 		$this->_stage=self::CS_PRERENDERED;
 	}
-- 
cgit v1.2.3