GCI Folder: Skip 'header-only' writes

issue #8961
This commit is contained in:
LPFaint99 2015-09-25 21:37:00 -07:00
parent 4d5f693d88
commit ddc523b81d
1 changed files with 7 additions and 0 deletions

View File

@ -555,6 +555,13 @@ void GCMemcardDirectory::FlushToFile()
if (BE32(m_saves[i].m_gci_header.Gamecode) != 0xFFFFFFFF)
{
m_saves[i].m_dirty = false;
if (m_saves[i].m_save_data.size() == 0)
{
// The save's header has been changed but the actual save blocks haven't been read/written to
// skip flushing this file until actual save data is modified
ERROR_LOG(EXPANSIONINTERFACE, "GCI header modified without corresponding save data changes");
continue;
}
if (m_saves[i].m_filename.empty())
{
std::string defaultSaveName = m_SaveDirectory + m_saves[i].m_gci_header.GCI_FileName();