Fixed wxPropertyGridPage::DoSetSplitterPosition() infinite recursion

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Jaakko Salli
2008-11-15 10:11:52 +00:00
parent 4311ac1ef6
commit 77db639d44
2 changed files with 6 additions and 10 deletions

View File

@@ -166,13 +166,6 @@ protected:
bool allPages = false, bool allPages = false,
bool fromAutoCenter = false ); bool fromAutoCenter = false );
/** Propagate to other pages.
*/
void DoSetSplitterPositionThisPage( int pos, int splitterColumn = 0 )
{
wxPropertyGridPageState::DoSetSplitterPosition( pos, splitterColumn );
}
/** Page label (may be referred as name in some parts of documentation). /** Page label (may be referred as name in some parts of documentation).
Can be set in constructor, or passed in Can be set in constructor, or passed in
wxPropertyGridManager::AddPage(), but *not* in both. wxPropertyGridManager::AddPage(), but *not* in both.

View File

@@ -210,12 +210,15 @@ void wxPropertyGridPage::SetSplitterPosition( int splitterPos, int col )
void wxPropertyGridPage::DoSetSplitterPosition( int pos, void wxPropertyGridPage::DoSetSplitterPosition( int pos,
int splitterColumn, int splitterColumn,
bool allPages, bool allPages,
bool WXUNUSED(fromAutoCenter) ) bool fromAutoCenter )
{ {
if ( allPages && m_manager->GetPageCount() ) if ( allPages && m_manager->GetPageCount() )
m_manager->SetSplitterPosition( pos, splitterColumn ); m_manager->SetSplitterPosition( pos, splitterColumn );
else else
DoSetSplitterPositionThisPage( pos, splitterColumn ); wxPropertyGridPageState::DoSetSplitterPosition( pos,
splitterColumn,
allPages,
fromAutoCenter );
} }
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
@@ -1675,7 +1678,7 @@ void wxPropertyGridManager::SetSplitterPosition( int pos, int splitterColumn )
for ( i=0; i<GetPageCount(); i++ ) for ( i=0; i<GetPageCount(); i++ )
{ {
wxPropertyGridPage* page = GetPage(i); wxPropertyGridPage* page = GetPage(i);
page->DoSetSplitterPositionThisPage( pos, splitterColumn ); page->DoSetSplitterPosition( pos, splitterColumn, false );
} }
m_pPropGrid->SetInternalFlag(wxPG_FL_SPLITTER_PRE_SET); m_pPropGrid->SetInternalFlag(wxPG_FL_SPLITTER_PRE_SET);