diff options
author | 2016-05-26 21:53:48 +0200 | |
---|---|---|
committer | 2016-05-26 21:54:03 +0200 | |
commit | 1f1ccd9b7d14d84a13d3950c2de7dfa3afaef638 (patch) | |
tree | 0fdfae36fd6abbe778726c7cf9b2a2f7357393ff /src/osd/modules/render/bgfx/chain.cpp | |
parent | 87429e74d90481317db41dfc45c7751039cd8b48 (diff) |
Fix debug crash with bgfx screen chains
Diffstat (limited to 'src/osd/modules/render/bgfx/chain.cpp')
-rw-r--r-- | src/osd/modules/render/bgfx/chain.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/osd/modules/render/bgfx/chain.cpp b/src/osd/modules/render/bgfx/chain.cpp index 9e399fef255..b056037aba9 100644 --- a/src/osd/modules/render/bgfx/chain.cpp +++ b/src/osd/modules/render/bgfx/chain.cpp @@ -34,10 +34,11 @@ bgfx_chain::bgfx_chain(std::string name, std::string author, bool transform, tar , m_current_time(0) , m_screen_index(screen_index) { - for (bgfx_slider* slider : m_sliders) - { - m_slider_map[slider->name()] = slider; - } + for (bgfx_target* target : m_target_list) + { + m_target_map[target->name()] = target; + m_target_names.push_back(target->name()); + } } bgfx_chain::~bgfx_chain() @@ -60,6 +61,17 @@ bgfx_chain::~bgfx_chain() } } +void bgfx_chain::repopulate_targets() +{ + for (size_t i = 0; i < m_target_names.size(); i++) + { + bgfx_target* target = m_targets.target(m_screen_index, m_target_names[i]); + if (target != nullptr) { + m_target_list[i] = target; + } + } +} + void bgfx_chain::process(render_primitive* prim, int view, int screen, texture_manager& textures, osd_window& window, uint64_t blend) { screen_device_iterator screen_iterator(window.machine().root_device()); |