From 849e02dafeeaeedb3b2b23a2b03a7b42bbd509cd Mon Sep 17 00:00:00 2001 From: Olivier Galibert Date: Wed, 21 Dec 2011 18:11:51 +0000 Subject: [PATCH] uimain: MT 4569 fix [O. Galibert] --- src/emu/uimain.c | 8 +++++++- src/emu/uimain.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/emu/uimain.c b/src/emu/uimain.c index fbe730fafd7..5cd95070726 100644 --- a/src/emu/uimain.c +++ b/src/emu/uimain.c @@ -604,7 +604,7 @@ void ui_menu_input_general::populate() input_item_data *item = (input_item_data *)m_pool_alloc(sizeof(*item)); memset(item, 0, sizeof(*item)); item->ref = entry; - if(pollingitem && pollingref == entry) + if(pollingitem && pollingref == entry && pollingseq == seqtype) pollingitem = item; item->seqtype = seqtype; item->seq = input_type_seq(machine(), entry->type, entry->player, seqtype); @@ -708,6 +708,9 @@ ui_menu_input_specific::~ui_menu_input_specific() -------------------------------------------------*/ ui_menu_input::ui_menu_input(running_machine &machine, render_container *container) : ui_menu(machine, container) { + pollingitem = 0; + pollingref = 0; + pollingseq = SEQ_TYPE_STANDARD; } ui_menu_input::~ui_menu_input() @@ -820,7 +823,10 @@ void ui_menu_input::handle() { pollingref = NULL; if (pollingitem != NULL) + { pollingref = pollingitem->ref; + pollingseq = pollingitem->seqtype; + } reset(UI_MENU_RESET_REMEMBER_POSITION); } } diff --git a/src/emu/uimain.h b/src/emu/uimain.h index 340741b76f6..b2b6d22530c 100644 --- a/src/emu/uimain.h +++ b/src/emu/uimain.h @@ -123,6 +123,7 @@ protected: protected: const void * pollingref; + input_seq_type pollingseq; input_item_data * pollingitem; private: