diff options
Diffstat (limited to 'src/osd/sdl/window.cpp')
-rw-r--r-- | src/osd/sdl/window.cpp | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/src/osd/sdl/window.cpp b/src/osd/sdl/window.cpp index 3c06b75333f..c2151c841e1 100644 --- a/src/osd/sdl/window.cpp +++ b/src/osd/sdl/window.cpp @@ -308,33 +308,13 @@ void sdl_osd_interface::update_slider_list() void sdl_osd_interface::build_slider_list() { - m_sliders = nullptr; - slider_state* full_list = nullptr; - slider_state* curr = nullptr; + m_sliders.clear(); + for (sdl_window_info *window = sdl_window_list; window != nullptr; window = window->m_next) { - // take the sliders of the first window - slider_state* window_sliders = window->renderer().get_slider_list(); - if (window_sliders == nullptr) - { - continue; - } - - if (full_list == nullptr) - { - full_list = curr = window_sliders; - } - else - { - curr->next = window_sliders; - } - - while (curr->next != nullptr) { - curr = curr->next; - } + std::vector<slider_state*> window_sliders = window->renderer().get_slider_list(); + m_sliders.insert(m_sliders.end(), window_sliders.begin(), window_sliders.end()); } - - m_sliders = full_list; } //============================================================ |