From: Vadim Zeitlin Date: Sun, 3 Feb 2008 14:11:24 +0000 (+0000) Subject: don't use negative sizes for row/column labels subwindows to avoid GTK warnings ... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/c1841ac2e30ca2c4d0cffcc8e60892e01d79ef8e?ds=inline don't use negative sizes for row/column labels subwindows to avoid GTK warnings (patch 1878512) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp index dd23379a8c..91cf67383e 100644 --- a/src/generic/grid.cpp +++ b/src/generic/grid.cpp @@ -4665,17 +4665,26 @@ void wxGrid::CalcWindowSizes() } } + // the grid may be too small to have enough space for the labels yet, don't + // size the windows to negative sizes in this case + int gw = cw - m_rowLabelWidth; + int gh = ch - m_colLabelHeight; + if (gw < 0) + gw = 0; + if (gh < 0) + gh = 0; + if ( m_cornerLabelWin && m_cornerLabelWin->IsShown() ) m_cornerLabelWin->SetSize( 0, 0, m_rowLabelWidth, m_colLabelHeight ); if ( m_colLabelWin && m_colLabelWin->IsShown() ) - m_colLabelWin->SetSize( m_rowLabelWidth, 0, cw - m_rowLabelWidth, m_colLabelHeight ); + m_colLabelWin->SetSize( m_rowLabelWidth, 0, gw, m_colLabelHeight ); if ( m_rowLabelWin && m_rowLabelWin->IsShown() ) - m_rowLabelWin->SetSize( 0, m_colLabelHeight, m_rowLabelWidth, ch - m_colLabelHeight ); + m_rowLabelWin->SetSize( 0, m_colLabelHeight, m_rowLabelWidth, gh ); if ( m_gridWin && m_gridWin->IsShown() ) - m_gridWin->SetSize( m_rowLabelWidth, m_colLabelHeight, cw - m_rowLabelWidth, ch - m_colLabelHeight ); + m_gridWin->SetSize( m_rowLabelWidth, m_colLabelHeight, gw, gh ); } // this is called when the grid table sends a message