import options in ScreenOptions::BeginScreen, not ScreenOptions::InitMenu, so
we'll re-import if the screen is re-pushed
This commit is contained in:
@@ -202,7 +202,7 @@ void ScreenOptions::SetOptionIcon( PlayerNumber pn, int iRow, CString sText, Gam
|
|||||||
|
|
||||||
void ScreenOptions::InitMenu( const vector<OptionRowDefinition> &vDefs, const vector<OptionRowHandler*> &vHands )
|
void ScreenOptions::InitMenu( const vector<OptionRowDefinition> &vDefs, const vector<OptionRowHandler*> &vHands )
|
||||||
{
|
{
|
||||||
LOG->Trace( "ScreenOptions::Set()" );
|
LOG->Trace( "ScreenOptions::InitMenu()" );
|
||||||
|
|
||||||
ASSERT( vDefs.size() == vHands.size() );
|
ASSERT( vDefs.size() == vHands.size() );
|
||||||
|
|
||||||
@@ -222,15 +222,6 @@ void ScreenOptions::InitMenu( const vector<OptionRowDefinition> &vDefs, const ve
|
|||||||
|
|
||||||
row.LoadNormal( def, hand, bFirstRowGoesDown );
|
row.LoadNormal( def, hand, bFirstRowGoesDown );
|
||||||
row.InitText();
|
row.InitText();
|
||||||
|
|
||||||
vector<PlayerNumber> vpns;
|
|
||||||
FOREACH_HumanPlayer( p )
|
|
||||||
vpns.push_back( p );
|
|
||||||
this->ImportOptions( r, vpns );
|
|
||||||
|
|
||||||
CHECKPOINT_M( ssprintf("row %i: %s", r, row.GetRowDef().m_sName.c_str()) );
|
|
||||||
|
|
||||||
row.AfterImportOptions();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( SHOW_EXIT_ROW )
|
if( SHOW_EXIT_ROW )
|
||||||
@@ -242,7 +233,6 @@ void ScreenOptions::InitMenu( const vector<OptionRowDefinition> &vDefs, const ve
|
|||||||
row.InitText();
|
row.InitText();
|
||||||
row.SetDrawOrder( 1 );
|
row.SetDrawOrder( 1 );
|
||||||
m_framePage.AddChild( &row );
|
m_framePage.AddChild( &row );
|
||||||
row.AfterImportOptions();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
m_framePage.SortByDrawOrder();
|
m_framePage.SortByDrawOrder();
|
||||||
@@ -260,6 +250,17 @@ void ScreenOptions::BeginScreen()
|
|||||||
{
|
{
|
||||||
ScreenWithMenuElements::BeginScreen();
|
ScreenWithMenuElements::BeginScreen();
|
||||||
|
|
||||||
|
for( unsigned r=0; r<m_pRows.size(); r++ ) // foreach row
|
||||||
|
{
|
||||||
|
vector<PlayerNumber> vpns;
|
||||||
|
FOREACH_HumanPlayer( p )
|
||||||
|
vpns.push_back( p );
|
||||||
|
this->ImportOptions( r, vpns );
|
||||||
|
|
||||||
|
OptionRow *pRow = m_pRows[r];
|
||||||
|
pRow->AfterImportOptions();
|
||||||
|
}
|
||||||
|
|
||||||
ON_COMMAND( m_framePage );
|
ON_COMMAND( m_framePage );
|
||||||
|
|
||||||
m_bMoreShown = false;
|
m_bMoreShown = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user