From f8e83ddf3ac1bbe33633e7dfc9121ffa173834cd Mon Sep 17 00:00:00 2001 From: Nathan Woods Date: Sun, 23 Jul 2017 11:48:19 -0400 Subject: [PATCH] Cleanup/bulletproofing to the issue Wizz just found --- src/emu/image.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/emu/image.cpp b/src/emu/image.cpp index f98ecd65f31..06ae645fb39 100644 --- a/src/emu/image.cpp +++ b/src/emu/image.cpp @@ -200,15 +200,12 @@ void image_manager::options_extract() std::string image_opt; if (image.exists()) { - if (image.loaded_through_softlist()) - { - image_opt = util::string_format("%s:%s", image.software_list_name(), image.full_software_name()); - const software_part *tmp = image.part_entry(); - if (!tmp->name().empty()) - image_opt.append(":").append(tmp->name()); - } - else + if (!image.loaded_through_softlist()) image_opt = image.filename(); + else if (image.part_entry() && !image.part_entry()->name().empty()) + image_opt = util::string_format("%s:%s:%s", image.software_list_name(), image.full_software_name(), image.part_entry()->name()); + else + image_opt = util::string_format("%s:%s", image.software_list_name(), image.full_software_name()); } // and set the option (provided that it hasn't been removed out from under us)