summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/image.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/image.cpp')
-rw-r--r--src/emu/image.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/emu/image.cpp b/src/emu/image.cpp
index 25167db54a2..416d2744fea 100644
--- a/src/emu/image.cpp
+++ b/src/emu/image.cpp
@@ -89,8 +89,13 @@ image_manager::image_manager(running_machine &machine)
// retrieve image error message
std::string image_err = std::string(image.error());
- // unload all images
- unload_all();
+ // unload the bad image
+ image.unload();
+
+ // make sure it is removed from the ini file too
+ machine.options().image_options()[image.instance_name()] = "";
+ if (machine.options().write_config())
+ write_config(machine.options(), nullptr, &machine.system());
fatalerror_exitcode(machine, EMU_ERR_DEVICE, "Device %s load (%s) failed: %s",
image.device().name(),
@@ -212,7 +217,7 @@ void image_manager::options_extract()
if (image.exists())
{
if (image.loaded_through_softlist())
- image_opt = util::string_format("%s:%s:%s", image.software_list_name(), image.full_software_name(), image.brief_instance_name());
+ image_opt = util::string_format("%s:%s", image.software_list_name(), image.full_software_name());
else
image_opt = image.filename();
}