diff --git a/stepmania/src/ScreenOptionsMemoryCard.cpp b/stepmania/src/ScreenOptionsMemoryCard.cpp index b6f98f45b7..cf9bacae72 100644 --- a/stepmania/src/ScreenOptionsMemoryCard.cpp +++ b/stepmania/src/ScreenOptionsMemoryCard.cpp @@ -22,8 +22,10 @@ void ScreenOptionsMemoryCard::Init() void ScreenOptionsMemoryCard::BeginScreen() { vector vHands; + + m_CurrentUsbStorageDevices = MEMCARDMAN->GetStorageDevices(); - FOREACH_CONST( UsbStorageDevice, MEMCARDMAN->GetStorageDevices(), iter ) + FOREACH_CONST( UsbStorageDevice, m_CurrentUsbStorageDevices, iter ) { // TODO: Make these string themable @@ -52,7 +54,7 @@ void ScreenOptionsMemoryCard::BeginScreen() def.m_bOneChoiceForAllPlayers = true; } - if( MEMCARDMAN->GetStorageDevices().empty() ) + if( m_CurrentUsbStorageDevices.empty() ) { OptionRowDefinition def( "No memory cards detected", true, "" ); } @@ -64,7 +66,7 @@ void ScreenOptionsMemoryCard::BeginScreen() // select the last chosen memory card (if present) if( !MEMCARDMAN->m_sEditorMemoryCardOsMountPoint.Get().empty() ) { - const vector &v = MEMCARDMAN->GetStorageDevices(); + const vector &v = m_CurrentUsbStorageDevices; for( unsigned i=0; im_sEditorMemoryCardOsMountPoint.Get() ) @@ -104,7 +106,7 @@ void ScreenOptionsMemoryCard::ExportOptions( int iRow, const vectorm_MasterPlayerNumber; if( m_iCurrentRow[pn] == iRow ) { - const vector &v = MEMCARDMAN->GetStorageDevices(); + const vector &v = m_CurrentUsbStorageDevices; if( iRow < int(v.size()) ) { const UsbStorageDevice &dev = v[iRow]; @@ -118,10 +120,10 @@ void ScreenOptionsMemoryCard::ProcessMenuStart( const InputEventPlus &input ) { int iCurRow = m_iCurrentRow[GAMESTATE->m_MasterPlayerNumber]; - const vector &v = MEMCARDMAN->GetStorageDevices(); + const vector &v = m_CurrentUsbStorageDevices; if( iCurRow < int(v.size()) ) // a card { - const vector v = MEMCARDMAN->GetStorageDevices(); + const vector &v = m_CurrentUsbStorageDevices; const UsbStorageDevice &dev = v[iCurRow]; MEMCARDMAN->m_sEditorMemoryCardOsMountPoint.Set( dev.sOsMountDir ); bool bSuccess = MEMCARDMAN->MountCard( PLAYER_1, dev ); diff --git a/stepmania/src/ScreenOptionsMemoryCard.h b/stepmania/src/ScreenOptionsMemoryCard.h index 8e90de199a..b6ebc28b55 100644 --- a/stepmania/src/ScreenOptionsMemoryCard.h +++ b/stepmania/src/ScreenOptionsMemoryCard.h @@ -18,6 +18,8 @@ private: void HandleMessage( const RString& sMessage ); void ProcessMenuStart( const InputEventPlus &input ); + + vector m_CurrentUsbStorageDevices; }; #endif