summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/sdl/window.cpp
diff options
context:
space:
mode:
author therealmogminer@gmail.com <therealmogminer@gmail.com>2016-04-10 02:25:11 +0200
committer therealmogminer@gmail.com <therealmogminer@gmail.com>2016-04-10 02:38:08 +0200
commit8719535cbc8341254f0b89cb5d834c7e8aa4483a (patch)
tree7b54b8a59a11257570cfc445bf0e9ca2e528c769 /src/osd/sdl/window.cpp
parent74a8e5d1dd20dd7dca94425245fe7c65587a99ac (diff)
Make sliders use an std::vector instead of a linked list, nw
Diffstat (limited to 'src/osd/sdl/window.cpp')
-rw-r--r--src/osd/sdl/window.cpp28
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;
}
//============================================================