summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend/mame/ui/sliders.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/mame/ui/sliders.cpp')
-rw-r--r--src/frontend/mame/ui/sliders.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/frontend/mame/ui/sliders.cpp b/src/frontend/mame/ui/sliders.cpp
index f94843ecccd..579a0cbc640 100644
--- a/src/frontend/mame/ui/sliders.cpp
+++ b/src/frontend/mame/ui/sliders.cpp
@@ -115,15 +115,25 @@ void 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)
{
- set_selected_index((selected_index() + item_count() - 1) % item_count());
- validate_selection(-1);
+ if (is_first_selected())
+ select_last_item();
+ else
+ {
+ set_selected_index(selected_index() - 1);
+ validate_selection(-1);
+ }
}
// otherwise select the next item
else if (menu_event->iptkey == IPT_UI_DOWN || menu_event->iptkey == IPT_UI_PAGE_DOWN)
{
- set_selected_index((selected_index() + 1) % item_count());
- validate_selection(1);
+ if (is_last_selected())
+ select_first_item();
+ else
+ {
+ set_selected_index(selected_index() + 1);
+ validate_selection(1);
+ }
}
}
}