diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2012-02-05 07:00:09 +0000 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2012-02-05 07:00:09 +0000 |
commit | 02fab7599096148e8936ddbf0c1b95048276533d (patch) | |
tree | fa75e8c13042df76d8466fa0ac8aced37dded9f2 | |
parent | a4d175be280d8da3a60ef3d2ce0d17ad62894d3c (diff) |
Proper fix for issues with slots, removed old fix too (no whatsnew)
-rw-r--r-- | src/emu/mconfig.c | 3 | ||||
-rw-r--r-- | src/emu/validity.c | 5 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/emu/mconfig.c b/src/emu/mconfig.c index 313754e4f16..60b9fc72be7 100644 --- a/src/emu/mconfig.c +++ b/src/emu/mconfig.c @@ -68,6 +68,7 @@ machine_config::machine_config(const game_driver &gamedrv, emu_options &options) // construct the config (*gamedrv.machine_config)(*this, NULL); + bool is_selected_driver = strcmp(gamedrv.name,options.system_name())==0; // intialize slot devices - make sure that any required devices have been allocated slot_interface_iterator slotiter(root_device()); for (device_slot_interface *slot = slotiter.first(); slot != NULL; slot = slotiter.next()) @@ -77,7 +78,7 @@ machine_config::machine_config(const game_driver &gamedrv, emu_options &options) { device_t &owner = slot->device(); const char *selval = options.value(owner.tag()+1); - if (!options.exists(owner.tag()+1)) + if (!is_selected_driver || !options.exists(owner.tag()+1)) selval = slot->get_default_card(*this, options); if (selval != NULL && strlen(selval) != 0) diff --git a/src/emu/validity.c b/src/emu/validity.c index 0ee812df39f..452829917a3 100644 --- a/src/emu/validity.c +++ b/src/emu/validity.c @@ -296,10 +296,7 @@ void validity_checker::validate_one(const game_driver &driver) // wrap in try/except to catch fatalerrors try { - emu_options validation_options(m_drivlist.options()); - validation_options.remove_device_options(); - - machine_config config(driver, validation_options); + machine_config config(driver, m_drivlist.options()); m_current_config = &config; validate_driver(); validate_roms(); |