Fixed ever-spinning wheel bug when pressing next game + previous letter or previous game + next letter in swift succession.

This commit is contained in:
Pieter Hulshoff 2016-07-14 07:05:57 +02:00
parent e6dad2945e
commit 3e3c61cfc6

View File

@ -342,6 +342,7 @@ void RetroFE::run()
case RETROFE_HIGHLIGHT_REQUEST: case RETROFE_HIGHLIGHT_REQUEST:
currentPage_->highlightExit(); currentPage_->highlightExit();
currentPage_->setScrolling(Page::ScrollDirectionIdle);
state = RETROFE_HIGHLIGHT_EXIT; state = RETROFE_HIGHLIGHT_EXIT;
break; break;
@ -559,6 +560,8 @@ RetroFE::RETROFE_STATE RetroFE::processUserInput(Page *page)
bool exit = false; bool exit = false;
RETROFE_STATE state = RETROFE_IDLE; RETROFE_STATE state = RETROFE_IDLE;
if(page->isMenuIdle())
{
if(page->isHorizontalScroll()) if(page->isHorizontalScroll())
{ {
if (input_.keystate(UserInput::KeyCodeLeft)) if (input_.keystate(UserInput::KeyCodeLeft))
@ -654,7 +657,7 @@ RetroFE::RETROFE_STATE RetroFE::processUserInput(Page *page)
{ {
//todo: add admin mode support //todo: add admin mode support
} }
if (input_.keystate(UserInput::KeyCodeSelect) && page->isMenuIdle()) if (input_.keystate(UserInput::KeyCodeSelect))
{ {
nextPageItem_ = page->getSelectedItem(); nextPageItem_ = page->getSelectedItem();
@ -671,7 +674,7 @@ RetroFE::RETROFE_STATE RetroFE::processUserInput(Page *page)
} }
} }
if (input_.keystate(UserInput::KeyCodeBack) && page->isMenuIdle()) if (input_.keystate(UserInput::KeyCodeBack))
{ {
if(back(exit) || exit) if(back(exit) || exit)
{ {
@ -683,6 +686,7 @@ RetroFE::RETROFE_STATE RetroFE::processUserInput(Page *page)
{ {
state = RETROFE_QUIT_REQUEST; state = RETROFE_QUIT_REQUEST;
} }
}
if(!input_.keystate(UserInput::KeyCodeUp) && if(!input_.keystate(UserInput::KeyCodeUp) &&
!input_.keystate(UserInput::KeyCodeLeft) && !input_.keystate(UserInput::KeyCodeLeft) &&
@ -693,7 +697,6 @@ RetroFE::RETROFE_STATE RetroFE::processUserInput(Page *page)
{ {
if (page->isMenuScrolling()) if (page->isMenuScrolling())
state = RETROFE_HIGHLIGHT_REQUEST; state = RETROFE_HIGHLIGHT_REQUEST;
page->setScrolling(Page::ScrollDirectionIdle);
} }
return state; return state;