diff --git a/src/gui/bedit/bouqueteditor_bouquets.cpp b/src/gui/bedit/bouqueteditor_bouquets.cpp index 90ce43767..15a0d7e61 100644 --- a/src/gui/bedit/bouqueteditor_bouquets.cpp +++ b/src/gui/bedit/bouqueteditor_bouquets.cpp @@ -362,6 +362,8 @@ int CBEBouquetWidget::exec(CMenuTarget* parent, const std::string & /*actionKey* paintBody(); paintFoot(); paintItems(); + + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); } } else if (state == beMoving) diff --git a/src/gui/bedit/bouqueteditor_channels.cpp b/src/gui/bedit/bouqueteditor_channels.cpp index 5bb25a86f..8b445b2c0 100644 --- a/src/gui/bedit/bouqueteditor_channels.cpp +++ b/src/gui/bedit/bouqueteditor_channels.cpp @@ -356,6 +356,8 @@ int CBEChannelWidget::exec(CMenuTarget* parent, const std::string & /*actionKey* { if (state == beDefault) addChannel(); + + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); } else if (msg == CRCInput::RC_yellow) { diff --git a/src/gui/bedit/bouqueteditor_chanselect.cpp b/src/gui/bedit/bouqueteditor_chanselect.cpp index 11bba6fb6..2dc5018cb 100644 --- a/src/gui/bedit/bouqueteditor_chanselect.cpp +++ b/src/gui/bedit/bouqueteditor_chanselect.cpp @@ -326,7 +326,7 @@ int CBEChannelSelectWidget::exec(CMenuTarget* parent, const std::string & /*acti if (msg <= CRCInput::RC_MaxRC) timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); - if ((msg == (neutrino_msg_t)g_settings.key_channelList_cancel) || (msg == CRCInput::RC_home)) + if ((msg == CRCInput::RC_timeout) || (msg == (neutrino_msg_t)g_settings.key_channelList_cancel) || (msg == CRCInput::RC_home)) { loop = false; } diff --git a/src/gui/widget/menue.cpp b/src/gui/widget/menue.cpp index 0164791b1..c399d9018 100644 --- a/src/gui/widget/menue.cpp +++ b/src/gui/widget/menue.cpp @@ -927,12 +927,16 @@ int CMenuWidget::exec(CMenuTarget* parent, const std::string &) break; } case (CRCInput::RC_left): - if (hasItem() && selected > -1 && (int)items.size() > selected) { - CMenuItem* itemX = items[selected]; - if (!itemX->isMenueOptionChooser() && g_settings.menu_left_exit) - msg = CRCInput::RC_timeout; + { + if(hasItem() && selected > -1 && (int)items.size() > selected) { + CMenuItem* itemX = items[selected]; + if (!itemX->isMenueOptionChooser()) { + if (g_settings.menu_left_exit) + msg = CRCInput::RC_timeout; + break; + } + } } - break; case (CRCInput::RC_right): case (CRCInput::RC_ok): {