diff options
Diffstat (limited to 'src/emu/render.cpp')
-rw-r--r-- | src/emu/render.cpp | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/src/emu/render.cpp b/src/emu/render.cpp index 41563bdb873..c81db6c78d8 100644 --- a/src/emu/render.cpp +++ b/src/emu/render.cpp @@ -1073,7 +1073,7 @@ unsigned render_target::configured_view(const char *viewname, int targetindex, i // if we don't have a match, default to the nth view std::vector<std::reference_wrapper<screen_device> > screens; - for (screen_device &screen : screen_device_iterator(m_manager.machine().root_device())) + for (screen_device &screen : screen_device_enumerator(m_manager.machine().root_device())) screens.push_back(screen); if (!view && !screens.empty()) { @@ -1615,17 +1615,10 @@ void render_target::debug_append(render_container &container) void render_target::resolve_tags() { for (layout_file &file : m_filelist) - { - for (layout_view &view : file.views()) - { - view.resolve_tags(); - if (¤t_view() == &view) - { - view.recompute(visibility_mask(), m_layerconfig.zoom_to_screen()); - view.preload(); - } - } - } + file.resolve_tags(); + + current_view().recompute(visibility_mask(), m_layerconfig.zoom_to_screen()); + current_view().preload(); } @@ -1779,7 +1772,7 @@ void render_target::load_additional_layout_files(const char *basename, bool have bool m_rotated; std::pair<unsigned, unsigned> m_physical, m_native; }; - screen_device_iterator iter(m_manager.machine().root_device()); + screen_device_enumerator iter(m_manager.machine().root_device()); std::vector<screen_info> const screens(std::begin(iter), std::end(iter)); // need this because views aren't fully set up yet @@ -2208,13 +2201,12 @@ bool render_target::load_layout_file(device_t &device, util::xml::data_node cons { m_filelist.emplace_back(device, rootnode, searchpath, dirname); } - catch (emu_fatalerror &) + catch (emu_fatalerror &err) { + osd_printf_warning("%s\n", err.what()); return false; } - emulator_info::layout_file_cb(rootnode); - return true; } @@ -3053,7 +3045,7 @@ render_manager::render_manager(running_machine &machine) machine.configuration().config_register("video", config_load_delegate(&render_manager::config_load, this), config_save_delegate(&render_manager::config_save, this)); // create one container per screen - for (screen_device &screen : screen_device_iterator(machine.root_device())) + for (screen_device &screen : screen_device_enumerator(machine.root_device())) screen.set_container(*container_alloc(&screen)); } |