diff options
Diffstat (limited to 'src/frontend/mame/ui/sliders.cpp')
-rw-r--r-- | src/frontend/mame/ui/sliders.cpp | 18 |
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); + } } } } |