diff --git a/pcsx2/gui/UpdateUI.cpp b/pcsx2/gui/UpdateUI.cpp index 48a7d9b470..575f641a01 100644 --- a/pcsx2/gui/UpdateUI.cpp +++ b/pcsx2/gui/UpdateUI.cpp @@ -51,11 +51,16 @@ static void _SaveLoadStuff(bool enabled) sMainFrame.EnableMenuItem(MenuId_Sys_SaveStates, enabled); #ifdef USE_NEW_SAVESLOTS_UI + bool crcChanged = false; // Run though all the slots. Update if they need updating or the crc changed. for (Saveslot &slot : saveslot_cache) { // We need to reload the file information if the crc or serial # changed. - if ((slot.crc != ElfCRC)|| (slot.serialName != DiscSerial)) slot.invalid_cache = true; + if ((slot.crc != ElfCRC)|| (slot.serialName != DiscSerial)) + { + slot.invalid_cache = true; + crcChanged = true; + } // Either the cache needs updating, or the menu items do, or both. if (slot.menu_update || slot.invalid_cache) @@ -85,7 +90,10 @@ static void _SaveLoadStuff(bool enabled) sMainFrame.SetMenuItemLabel(slot.save_item_id, slot.SlotName()); } } - States_updateLoadBackupMenuItem(); + if (crcChanged) + { + States_updateLoadBackupMenuItem(); + } #endif }