]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/sizer.cpp
Conditional compilation fix.
[wxWidgets.git] / src / common / sizer.cpp
index c2320a4d5aaa093e47249dde4b7b06f739297e20..7123f19c6a62a97926ef7082a6ea123758389bc1 100644 (file)
@@ -199,9 +199,12 @@ wxSize wxSizerItem::CalcMin()
             // should use the current minimal size.  If there is a MinSize,
             // use it, otherwise use the BestSize.
             wxSize min  = m_window->GetMinSize();
-            wxSize best = m_window->GetBestSize();
-            if (min.x == -1) min.x =  best.x;
-            if (min.y == -1) min.y =  best.y;
+            if (min.x == -1 || min.y == -1)
+            {
+                wxSize best = m_window->GetBestSize();
+                if (min.x == -1) min.x =  best.x;
+                if (min.y == -1) min.y =  best.y;
+            }
             m_minSize = min;
         }
 
@@ -1053,20 +1056,20 @@ void wxGridSizer::SetItemBounds( wxSizerItem *item, int x, int y, int w, int h )
     {
         if (flag & wxALIGN_CENTER_HORIZONTAL)
         {
-            pt.x = x + (w - sz.x) / 2;
+            pt.x = x + (w - sz.x - m_hgap) / 2;
         }
         else if (flag & wxALIGN_RIGHT)
         {
-            pt.x = x + (w - sz.x);
+            pt.x = x + (w - sz.x - m_hgap);
         }
 
         if (flag & wxALIGN_CENTER_VERTICAL)
         {
-            pt.y = y + (h - sz.y) / 2;
+            pt.y = y + (h - sz.y - m_vgap) / 2;
         }
         else if (flag & wxALIGN_BOTTOM)
         {
-            pt.y = y + (h - sz.y);
+            pt.y = y + (h - sz.y - m_vgap);
         }
     }