]> git.saurik.com Git - wxWidgets.git/commitdiff
don't compute the columns/rows from the number of items if both were explicitly set...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 13 Dec 2008 12:26:27 +0000 (12:26 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 13 Dec 2008 12:26:27 +0000 (12:26 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/sizer.cpp

index 1ff4b4ec625b6f63a2506a7e5ee56b8242ecf4c9..65d2f3d9cbb12d3bb355aea5b63c706f46e3fe86 100644 (file)
@@ -1324,10 +1324,17 @@ wxGridSizer::wxGridSizer( int cols, int vgap, int hgap )
 
 int wxGridSizer::CalcRowsCols(int& nrows, int& ncols) const
 {
-    int nitems = m_children.GetCount();
-    if ( nitems)
+    const int nitems = m_children.GetCount();
+    if ( nitems )
     {
-        if ( m_cols )
+        if ( m_cols && m_rows )
+        {
+            // if both rows and columns are specified by user, use the provided
+            // values even if we don't have enough items
+            ncols = m_cols;
+            nrows = m_rows;
+        }
+        else if ( m_cols )
         {
             ncols = m_cols;
             nrows = (nitems + m_cols - 1) / m_cols;
@@ -1341,7 +1348,8 @@ int wxGridSizer::CalcRowsCols(int& nrows, int& ncols) const
         {
             wxFAIL_MSG( _T("grid sizer must have either rows or columns fixed") );
 
-            nrows = ncols = 0;
+            nrows =
+            ncols = 0;
         }
     }