diff --git a/stepmania/src/ScreenMiniMenu.cpp b/stepmania/src/ScreenMiniMenu.cpp index d00db5d2f2..21a3025466 100644 --- a/stepmania/src/ScreenMiniMenu.cpp +++ b/stepmania/src/ScreenMiniMenu.cpp @@ -20,7 +20,9 @@ void ScreenMiniMenu::MiniMenu( MenuDef* pDef, ScreenMessage SM_SendOnOK, ScreenM { ScreenMiniMenu *pNewScreen = new ScreenMiniMenu( pDef->sClassName ); pNewScreen->Init(); - pNewScreen->LoadMenu( pDef, SM_SendOnOK, SM_SendOnCancel ); + pNewScreen->LoadMenu( pDef ); + pNewScreen->SetOKMessage( SM_SendOnOK ); + pNewScreen->SetCancelMessage( SM_SendOnCancel ); pNewScreen->SetXY( fX, fY ); SCREENMAN->ZeroNextUpdate(); SCREENMAN->PushScreen( pNewScreen, true ); @@ -31,12 +33,8 @@ ScreenMiniMenu::ScreenMiniMenu( CString sClassName ) :ScreenOptions( sClassName { } -void ScreenMiniMenu::LoadMenu( const MenuDef* pDef, ScreenMessage SM_SendOnOK, ScreenMessage SM_SendOnCancel ) +void ScreenMiniMenu::LoadMenu( const MenuDef* pDef ) { - ScreenOptions::Init(); - - m_SMSendOnOK = SM_SendOnOK; - m_SMSendOnCancel = SM_SendOnCancel; m_vMenuRows = pDef->rows; // Convert from m_vMenuRows to vector diff --git a/stepmania/src/ScreenMiniMenu.h b/stepmania/src/ScreenMiniMenu.h index 5acdc8610b..ef3a684108 100644 --- a/stepmania/src/ScreenMiniMenu.h +++ b/stepmania/src/ScreenMiniMenu.h @@ -79,9 +79,12 @@ public: static void MiniMenu( MenuDef* pDef, ScreenMessage smSendOnOK, ScreenMessage smSendOnCancel = SM_None, float fX = 0, float fY = 0 ); ScreenMiniMenu( CString sScreenClass ); - void LoadMenu( const MenuDef* pDef, ScreenMessage SM_SendOnOK, ScreenMessage SM_SendOnCancel ); + void LoadMenu( const MenuDef* pDef ); void HandleScreenMessage( const ScreenMessage SM ); + void SetOKMessage( ScreenMessage SM_SendOnOK ) { m_SMSendOnOK = SM_SendOnOK; } + void SetCancelMessage( ScreenMessage SM_SendOnCancel ) { m_SMSendOnCancel = SM_SendOnCancel; } + protected: virtual void OnChange( PlayerNumber pn ); virtual void ImportOptions( int iRow, const vector &vpns );