fix prevent issue 53384, 53385 on Panel
authorPark Kyoung Hee <kh1979.park@samsung.com>
Tue, 14 May 2013 08:53:57 +0000 (17:53 +0900)
committerPark Kyoung Hee <kh1979.park@samsung.com>
Tue, 14 May 2013 09:32:15 +0000 (18:32 +0900)
Change-Id: I6f3835604bb64f1be9666d01f9b3225b6e3e7946
Signed-off-by: Park Kyoung Hee <kh1979.park@samsung.com>
src/ui/controls/FUiCtrl_PanelImpl.cpp
src/ui/inc/FUiCtrl_PanelImpl.h

index 3e95345..5404848 100644 (file)
@@ -199,7 +199,7 @@ _PanelImpl::OnAttachedToMainTree(void)
                                SysLogException(NID_UI_CTRL, r, "[%s] SetBounds failed", GetErrorMessage(r));
                        }
 
-                       SetChildBuilderBouds(this, controlOrientation);
+                       SetChildBuilderBounds(this, controlOrientation);
                }
        }
 
@@ -209,19 +209,24 @@ _PanelImpl::OnAttachedToMainTree(void)
 }
 
 void
-_PanelImpl::SetChildBuilderBouds(_ContainerImpl* pContainerImpl, _ControlOrientation controlOrientation)
+_PanelImpl::SetChildBuilderBounds(_ContainerImpl* pContainerImpl, _ControlOrientation controlOrientation)
 {
        FloatRectangle builderBounds;
        _ContainerImpl* pTempContainerImpl;
        for(int i = 0; i < pContainerImpl->GetChildCount(); i++)
        {
                _ControlImpl* pControlImpl =  pContainerImpl->GetChild(i);
-               pControlImpl->GetBuilderBoundsF(controlOrientation, builderBounds);
+               bool exist = pControlImpl->GetBuilderBoundsF(controlOrientation, builderBounds);
+               if (!exist)
+               {
+                       continue;
+               }
+
                pControlImpl->SetBounds(builderBounds);
                pTempContainerImpl = dynamic_cast<_ContainerImpl*>(pControlImpl);
                if (pTempContainerImpl != null)
                {
-                       SetChildBuilderBouds(pTempContainerImpl, controlOrientation);
+                       SetChildBuilderBounds(pTempContainerImpl, controlOrientation);
                }
 
        }
index ae83088..218ebb7 100644 (file)
@@ -72,7 +72,7 @@ public:
 protected:
        _PanelImpl(Control* pPublic, _Control* pCore, Layout* pPublicPortraitLayout = null, Layout* pPublicLandscapeLayout = null);
 
-       void SetChildBuilderBouds(_ContainerImpl* pContainerImpl, _ControlOrientation controlOrientation);
+       void SetChildBuilderBounds(_ContainerImpl* pContainerImpl, _ControlOrientation controlOrientation);
 
 private:
        // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.