don't leave nrows/ncols uninitialized in wxGridSizer::CalcRowsCols()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-12-15 09:49:57 +00:00
parent 59704b49c2
commit 6115b1b5d9

View File

@@ -1325,32 +1325,29 @@ wxGridSizer::wxGridSizer( int cols, int vgap, int hgap )
int wxGridSizer::CalcRowsCols(int& nrows, int& ncols) const
{
const int nitems = m_children.GetCount();
if ( nitems )
if ( m_cols && m_rows )
{
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;
}
else if ( m_rows )
{
ncols = (nitems + m_rows - 1) / m_rows;
nrows = m_rows;
}
else // 0 columns, 0 rows?
{
wxFAIL_MSG( _T("grid sizer must have either rows or columns fixed") );
// 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;
}
else if ( m_rows )
{
ncols = (nitems + m_rows - 1) / m_rows;
nrows = m_rows;
}
else // 0 columns, 0 rows?
{
wxFAIL_MSG( _T("grid sizer must have either rows or columns fixed") );
nrows =
ncols = 0;
}
nrows =
ncols = 0;
}
return nitems;