diff options
author | 2014-10-15 07:10:54 +0000 | |
---|---|---|
committer | 2014-10-15 07:10:54 +0000 | |
commit | a4dd32afb6cbfaae0e452c90486060682ab1c31c (patch) | |
tree | 2924ad38d4b5bd277091b0df42c00d0a9bd28f7f | |
parent | 35dee95edf34c15f2b88de38136bdb59b98d45e4 (diff) |
Better fix for init order on software item load (nw)
-rw-r--r-- | src/emu/ui/imgcntrl.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/emu/ui/imgcntrl.c b/src/emu/ui/imgcntrl.c index 0c50f1adb27..09848dcedc3 100644 --- a/src/emu/ui/imgcntrl.c +++ b/src/emu/ui/imgcntrl.c @@ -132,7 +132,6 @@ void ui_menu_control_device_image::test_create(bool &can_create, bool &need_conf void ui_menu_control_device_image::load_software_part() { astring temp_name(sld->list_name(), ":", swi->shortname(), ":", swp->name()); - image->set_init_phase(); hook_load(temp_name, true); } @@ -143,6 +142,7 @@ void ui_menu_control_device_image::load_software_part() void ui_menu_control_device_image::hook_load(astring name, bool softlist) { + if (image->is_reset_on_load()) image->set_init_phase(); image->load(name); ui_menu::stack_pop(machine()); } @@ -205,15 +205,15 @@ void ui_menu_control_device_image::handle() case SELECT_PARTLIST: swi = sld->find(software_info_name); if (!swi) - state = START_SOFTLIST; - else if(swi->has_multiple_parts(image->image_interface())) + state = START_SOFTLIST; + else if(swi->has_multiple_parts(image->image_interface())) { submenu_result = -1; swp = 0; ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_software_parts(machine(), container, swi, image->image_interface(), &swp, false, &submenu_result))); state = SELECT_ONE_PART; - } - else + } + else { swp = swi->first_part(); load_software_part(); @@ -256,7 +256,7 @@ void ui_menu_control_device_image::handle() state = START_SOFTLIST; handle(); break; - + case -1: // return to system ui_menu::stack_pop(machine()); break; |