Don't crash when laying out wxGridBagSizer with only hidden elements.
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
This commit is contained in:
@@ -576,6 +576,7 @@ All (GUI):
|
||||
- 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:
|
||||
|
||||
|
@@ -505,7 +505,11 @@ wxSize wxGridBagSizer::CalcMin()
|
||||
|
||||
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() );
|
||||
|
Reference in New Issue
Block a user