Browse Source

UI: control's addition/removing/hiding makes parents dirty, autoSize doesn't count invisible controls

Andrew Karpushin 11 years ago
parent
commit
328f0acde0
1 changed files with 2 additions and 2 deletions
  1. 2 2
      gameplay/src/Container.cpp

+ 2 - 2
gameplay/src/Container.cpp

@@ -556,7 +556,7 @@ void Container::updateBounds()
             for (size_t i = 0, count = _controls.size(); i < count; ++i)
             for (size_t i = 0, count = _controls.size(); i < count; ++i)
             {
             {
                 Control* ctrl = _controls[i];
                 Control* ctrl = _controls[i];
-                if (ctrl->isVisible() && !ctrl->isWidthPercentage())
+                if (ctrl->isVisible() && !ctrl->isXPercentage() && !ctrl->isWidthPercentage())
                 {
                 {
                     float w = ctrl->getWidth();
                     float w = ctrl->getWidth();
                     if (!ctrl->isXPercentage())
                     if (!ctrl->isXPercentage())
@@ -576,7 +576,7 @@ void Container::updateBounds()
             for (size_t i = 0, count = _controls.size(); i < count; ++i)
             for (size_t i = 0, count = _controls.size(); i < count; ++i)
             {
             {
                 Control* ctrl = _controls[i];
                 Control* ctrl = _controls[i];
-                if (ctrl->isVisible() && !ctrl->isHeightPercentage())
+                if (ctrl->isVisible() && !ctrl->isYPercentage() && !ctrl->isHeightPercentage())
                 {
                 {
                     float h = ctrl->getHeight();
                     float h = ctrl->getHeight();
                     if (!ctrl->isYPercentage())
                     if (!ctrl->isYPercentage())