From 945f54daea7f827ad3a5ea0e90288599e62f43dd Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Mon, 29 Oct 2012 19:17:37 +0100 Subject: [PATCH] fix crashes when cycling through menu with an active filter --- src/input_handler.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/input_handler.cc b/src/input_handler.cc index c6c782af..4683b30f 100644 --- a/src/input_handler.cc +++ b/src/input_handler.cc @@ -183,7 +183,7 @@ public: { auto it = std::find_if(m_selected+1, m_choices.end(), match_filter); if (it == m_choices.end()) - it = std::find_if(m_choices.begin(), m_selected+1, match_filter); + it = std::find_if(m_choices.begin(), m_selected, match_filter); m_selected = it; context.ui().menu_select(m_selected - m_choices.begin()); } @@ -192,8 +192,8 @@ public: key == Key(Key::Modifiers::Control, 'p') or key == Key(Key::Modifiers::None, 'k')) { - ChoiceList::const_reverse_iterator selected(m_selected); - auto it = std::find_if(selected, m_choices.rend(), match_filter); + ChoiceList::const_reverse_iterator selected(m_selected+1); + auto it = std::find_if(selected+1, m_choices.rend(), match_filter); if (it == m_choices.rend()) it = std::find_if(m_choices.rbegin(), selected, match_filter); m_selected = it.base()-1;