summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author therealmogminer@gmail.com <therealmogminer@gmail.com>2016-03-17 15:48:32 +0100
committer therealmogminer@gmail.com <therealmogminer@gmail.com>2016-03-17 15:48:32 +0100
commitd7dc173df9c06660472c7acda3c47cc0d6f0f448 (patch)
treeacada022c72c6d476e489273008429f7d59888fc /src
parent493cf7289be81f15a975d60b48e58b0132854323 (diff)
Fix scrolling in slider list, nw
Diffstat (limited to 'src')
-rw-r--r--src/emu/ui/sliders.cpp12
-rw-r--r--src/emu/ui/ui.cpp1
-rw-r--r--src/emu/ui/ui.h1
-rw-r--r--src/osd/modules/render/bgfx/slider.cpp1
-rw-r--r--src/osd/modules/render/d3d/d3dhlsl.cpp1
-rw-r--r--src/osd/modules/render/drawbgfx.h2
-rw-r--r--src/osd/windows/window.cpp5
7 files changed, 6 insertions, 17 deletions
diff --git a/src/emu/ui/sliders.cpp b/src/emu/ui/sliders.cpp
index d53ad402943..070bb202a1b 100644
--- a/src/emu/ui/sliders.cpp
+++ b/src/emu/ui/sliders.cpp
@@ -108,20 +108,14 @@ void ui_menu_sliders::handle()
/* if we got here via up or page up, select the previous item */
if (menu_event->iptkey == IPT_UI_UP || menu_event->iptkey == IPT_UI_PAGE_UP)
{
- do
- {
- selected = (selected + item.size() - 1) % item.size();
- } while(((slider_state&)item[selected]).hidden);
- validate_selection(-1);
+ selected = (selected + item.size() - 1) % item.size();
+ validate_selection(-1);
}
/* otherwise select the next item */
else if (menu_event->iptkey == IPT_UI_DOWN || menu_event->iptkey == IPT_UI_PAGE_DOWN)
{
- do
- {
- selected = (selected + 1) % item.size();
- } while(((slider_state&)item[selected]).hidden);
+ selected = (selected + 1) % item.size();
validate_selection(1);
}
}
diff --git a/src/emu/ui/ui.cpp b/src/emu/ui/ui.cpp
index 839e7c2d7a2..1c560348755 100644
--- a/src/emu/ui/ui.cpp
+++ b/src/emu/ui/ui.cpp
@@ -1941,7 +1941,6 @@ static slider_state *slider_alloc(running_machine &machine, const char *title, I
state->incval = incval;
state->update = update;
state->arg = arg;
- state->hidden = false;
state->id = -1;
strcpy(state->description, title);
diff --git a/src/emu/ui/ui.h b/src/emu/ui/ui.h
index c50ba5cb4f0..c50d444120e 100644
--- a/src/emu/ui/ui.h
+++ b/src/emu/ui/ui.h
@@ -103,7 +103,6 @@ struct slider_state
INT32 defval; /* default value */
INT32 maxval; /* maximum value */
INT32 incval; /* increment value */
- bool hidden; /* hidden or not */
int id;
char description[1]; /* textual description */
};
diff --git a/src/osd/modules/render/bgfx/slider.cpp b/src/osd/modules/render/bgfx/slider.cpp
index b5dbdfe80ef..e9262c82a9f 100644
--- a/src/osd/modules/render/bgfx/slider.cpp
+++ b/src/osd/modules/render/bgfx/slider.cpp
@@ -63,7 +63,6 @@ slider_state* bgfx_slider::create_core_slider(running_machine& machine)
state->incval = m_step;
state->update = update_trampoline;
state->arg = this;
- state->hidden = false;
state->id = 0; // fixme
strcpy(state->description, m_description.c_str());
diff --git a/src/osd/modules/render/d3d/d3dhlsl.cpp b/src/osd/modules/render/d3d/d3dhlsl.cpp
index 133f946c3e8..59544be947d 100644
--- a/src/osd/modules/render/d3d/d3dhlsl.cpp
+++ b/src/osd/modules/render/d3d/d3dhlsl.cpp
@@ -2222,7 +2222,6 @@ static slider_state *slider_alloc(running_machine &machine, int id, const char *
state->incval = incval;
state->update = update;
state->arg = arg;
- state->hidden = false;
state->id = id;
strcpy(state->description, title);
diff --git a/src/osd/modules/render/drawbgfx.h b/src/osd/modules/render/drawbgfx.h
index 999bf852923..3b19d4edffa 100644
--- a/src/osd/modules/render/drawbgfx.h
+++ b/src/osd/modules/render/drawbgfx.h
@@ -39,7 +39,7 @@ public:
virtual int create() override;
virtual slider_state* get_slider_list() override;
- virtual bool multi_window_sliders() { return true; }
+ virtual bool multi_window_sliders() override { return true; }
virtual int draw(const int update) override;
#ifdef OSD_SDL
diff --git a/src/osd/windows/window.cpp b/src/osd/windows/window.cpp
index 2bb7074a8e6..b94f68f570a 100644
--- a/src/osd/windows/window.cpp
+++ b/src/osd/windows/window.cpp
@@ -273,7 +273,6 @@ void windows_osd_interface::build_slider_list()
{
m_sliders = nullptr;
slider_state *curr = m_sliders;
- int index = 0;
for (win_window_info *info = win_window_list; info != nullptr; info = info->m_next)
{
slider_state *window_sliders = info->m_renderer->get_slider_list();
@@ -281,7 +280,8 @@ void windows_osd_interface::build_slider_list()
{
if (m_sliders == nullptr)
{
- m_sliders = curr = window_sliders;
+ m_sliders = window_sliders;
+ curr = m_sliders;
}
else
{
@@ -291,7 +291,6 @@ void windows_osd_interface::build_slider_list()
}
curr->next = window_sliders;
}
- index++;
}
}
}