]> git.saurik.com Git - wxWidgets.git/commitdiff
don't distribute negative extra space among box sizer items, this isn't useful as...
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 1 Oct 2008 13:57:53 +0000 (13:57 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 1 Oct 2008 13:57:53 +0000 (13:57 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/sizer.cpp

index 071ee210399dd61bff052261de581b394e3ba23e..206f09a255ff4ee3fe6ea8ec7b881580abf30f38 100644 (file)
@@ -1939,15 +1939,22 @@ void wxBoxSizer::RecalcSizes()
 
         // adjust the size in the major direction using the proportion
         wxCoord majorSize = GetSizeInMajorDir(sizeThis);
-        const int propItem = item->GetProportion();
-        if ( propItem )
+
+        // if there is not enough space, don't try to distribute negative space
+        // among the children, this would result in overlapping windows which
+        // we don't want
+        if ( delta > 0 )
         {
-            const int deltaItem = (delta * propItem) / totalProportion;
+            const int propItem = item->GetProportion();
+            if ( propItem )
+            {
+                const int deltaItem = (delta * propItem) / totalProportion;
 
-            majorSize += deltaItem;
+                majorSize += deltaItem;
 
-            delta -= deltaItem;
-            totalProportion -= propItem;
+                delta -= deltaItem;
+                totalProportion -= propItem;
+            }
         }