wxGridBagSizer lay out algorithm needs at least a single row and a single
column to work, so simply don't run it at all if there is nothing to lay out.
Closes #15475.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74810
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
- Add wxPropertyGridPageState::GetColumnFullWidth() (Teodor Petrov).
- wxRTC: extracted XML utilities into a separate class for potential reuse.
- wxPropertyGrid: improve composite flags handling (Jens Lody).
+- Don't crash laying out wxGridBagSizer with only hidden elements (briceandre).
wxGTK:
void wxGridBagSizer::RecalcSizes()
{
- if (m_children.GetCount() == 0)
+ // We can't lay out our elements if we don't have at least a single row and
+ // a single column. Notice that this may happen even if we have some
+ // children but all of them are hidden, so checking for m_children being
+ // non-empty is not enough, see #15475.
+ if ( m_rowHeights.empty() || m_colWidths.empty() )
return;
wxPoint pt( GetPosition() );