diff --git a/stepmania/src/ScreenOptionsManageProfiles.cpp b/stepmania/src/ScreenOptionsManageProfiles.cpp index 30e9695580..0c1d0fbf8d 100644 --- a/stepmania/src/ScreenOptionsManageProfiles.cpp +++ b/stepmania/src/ScreenOptionsManageProfiles.cpp @@ -105,6 +105,7 @@ ScreenOptionsManageProfiles::~ScreenOptionsManageProfiles() FOREACH( OptionRowHandler*, m_OptionRowHandlers, h ) SAFE_DELETE( *h ); m_OptionRowHandlers.clear(); + SAFE_DELETE( m_pContextMenu ); } void ScreenOptionsManageProfiles::Init() @@ -112,6 +113,10 @@ void ScreenOptionsManageProfiles::Init() ScreenOptions::Init(); SetInputMode( INPUTMODE_SHARE_CURSOR ); + + m_pContextMenu = new ScreenMiniMenu( g_TempMenu.sClassName ); + m_pContextMenu->Init(); + m_pContextMenu->LoadMenu( &g_TempMenu ); } void ScreenOptionsManageProfiles::BeginScreen() @@ -353,7 +358,12 @@ void ScreenOptionsManageProfiles::ProcessMenuStart( PlayerNumber pn, const Input int iWidth, iX, iY; this->GetWidthXY( PLAYER_1, iCurRow, 0, iWidth, iX, iY ); - ScreenMiniMenu::MiniMenu( &g_TempMenu, SM_BackFromContextMenu, SM_BackFromContextMenu, (float)iX, (float)iY ); + + m_pContextMenu->LoadMenu( &g_TempMenu ); + m_pContextMenu->SetOKMessage( SM_BackFromContextMenu ); + m_pContextMenu->SetCancelMessage( SM_BackFromContextMenu ); + m_pContextMenu->SetXY( (float)iX, (float)iY ); + SCREENMAN->PushScreen( m_pContextMenu ); } } diff --git a/stepmania/src/ScreenOptionsManageProfiles.h b/stepmania/src/ScreenOptionsManageProfiles.h index 6cb8541194..ca923906ce 100644 --- a/stepmania/src/ScreenOptionsManageProfiles.h +++ b/stepmania/src/ScreenOptionsManageProfiles.h @@ -2,6 +2,7 @@ #define ScreenOptionsManageProfiles_H #include "ScreenOptions.h" +#include "ScreenMiniMenu.h" class Course; @@ -28,6 +29,8 @@ protected: vector m_vsLocalProfileID; vector m_OptionRowHandlers; + + ScreenMiniMenu *m_pContextMenu; }; #endif