From d5cd463e17502cf41096560c33f1da929ee37dd4 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Tue, 4 Dec 2012 14:52:03 +0400 Subject: [PATCH] neutrino.cpp: fix subchannel up/down processing: if key_subchannel_up/down is set to different than left/right keys, and mode_left_right_key_tv == SNeutrinoSettings::VOLUME, CVolume::setVolume called, but not process other keys, and post msg again -> loop forever. - process mode_left_right_key_tv modes only if subchannel up/down == left/right --- src/neutrino.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 8039d0142..45e780792 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -2050,13 +2050,16 @@ void CNeutrinoApp::RealRun(CMenuWidget &mainMenu) g_RemoteControl->subChannelDown(); g_InfoViewer->showSubchan(); } - else if (g_settings.mode_left_right_key_tv == SNeutrinoSettings::VOLUME) { - g_volume->setVolume(msg, true); - } - else if((g_settings.mode_left_right_key_tv == SNeutrinoSettings::VZAP) || (g_settings.mode_left_right_key_tv == SNeutrinoSettings::INFOBAR)) { - if(channelList->getSize()) { - showInfo(); - } + else if ( msg == CRCInput::RC_left || msg == CRCInput::RC_right) { + if (g_settings.mode_left_right_key_tv == SNeutrinoSettings::VOLUME) { + g_volume->setVolume(msg, true); + } + else if((g_settings.mode_left_right_key_tv == SNeutrinoSettings::VZAP) + || (g_settings.mode_left_right_key_tv == SNeutrinoSettings::INFOBAR)) { + if(channelList->getSize()) { + showInfo(); + } + } } else quickZap( msg );