From 1ec5a77b56c00b9b3d76dab52ec8d9e56ee74b0c Mon Sep 17 00:00:00 2001 From: dankan1890 Date: Tue, 16 Aug 2016 19:06:22 +0200 Subject: [PATCH] Moved creation roms list where necessary, this gets back to the menu at acceptable reaction times. (nw) --- src/frontend/mame/ui/selgame.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/frontend/mame/ui/selgame.cpp b/src/frontend/mame/ui/selgame.cpp index 7357d3f66c2..36edddc66b2 100644 --- a/src/frontend/mame/ui/selgame.cpp +++ b/src/frontend/mame/ui/selgame.cpp @@ -1027,7 +1027,6 @@ void menu_select_game::build_list(const char *filter_text, int filter, bool bios for (auto & s_driver : s_drivers) { - auto entries = rom_build_entries(s_driver->rom); if (!bioscheck && filter != FILTER_BIOS && (s_driver->flags & MACHINE_IS_BIOS_ROOT) != 0) continue; @@ -1113,15 +1112,19 @@ void menu_select_game::build_list(const char *filter_text, int filter, bool bios } break; case FILTER_CHD: - for (const rom_entry &rom : entries) - if (ROMENTRY_ISREGION(&rom) && ROMREGION_ISDISKDATA(&rom)) - { - m_displaylist.push_back(s_driver); - break; + { + auto entries = rom_build_entries(s_driver->rom); + for (const rom_entry &rom : entries) + if (ROMENTRY_ISREGION(&rom) && ROMREGION_ISDISKDATA(&rom)) + { + m_displaylist.push_back(s_driver); + break; + } } break; case FILTER_NOCHD: { + auto entries = rom_build_entries(s_driver->rom); bool found = false; for (const rom_entry &rom : entries) if (ROMENTRY_ISREGION(&rom) && ROMREGION_ISDISKDATA(&rom))