From f0e7069878098b0ab346f6bc0f53f3d7bd56c004 Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Wed, 27 Sep 2017 08:53:13 +0200 Subject: [PATCH] - fix some timout-off-bugs in epgplus, epgview, eventlist and filebrowser --- src/gui/epgplus.cpp | 5 +++-- src/gui/epgview.cpp | 16 +++++++++------- src/gui/eventlist.cpp | 17 +++++++++-------- src/gui/filebrowser.cpp | 10 ++++++---- 4 files changed, 27 insertions(+), 21 deletions(-) diff --git a/src/gui/epgplus.cpp b/src/gui/epgplus.cpp index 9bdc9c69b..c77b79eee 100644 --- a/src/gui/epgplus.cpp +++ b/src/gui/epgplus.cpp @@ -934,14 +934,15 @@ int EpgPlus::exec(CChannelList * pchannelList, int selectedChannelIndex, CBouque this->paint(); - uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_CHANLIST]); + int timeout = g_settings.timing[SNeutrinoSettings::TIMING_CHANLIST]; + uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); bool loop = true; while (loop) { g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd); if (msg <= CRCInput::RC_MaxRC) - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_CHANLIST]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); if ((msg == NeutrinoMessages::EVT_TIMER) && (data == fader.GetFadeTimer())) diff --git a/src/gui/epgview.cpp b/src/gui/epgview.cpp index 2cab74547..5b5919d0d 100644 --- a/src/gui/epgview.cpp +++ b/src/gui/epgview.cpp @@ -895,13 +895,15 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start bool loop = true; bool epgTextSwitchClear = true; - uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + + int timeout = g_settings.timing[SNeutrinoSettings::TIMING_EPG]; + uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); while (loop) { g_RCInput->getMsgAbsoluteTimeout( &msg, &data, &timeoutEnd ); if ( msg <= CRCInput::RC_MaxRC ) - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); scrollCount = medlinecount; @@ -1044,7 +1046,7 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start bigFonts = g_settings.bigFonts; show(channel_id,epgData.eventID,&epgData.epg_times.startzeit,false); showPos=0; - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); } else { printf("no network devices available\n"); @@ -1075,7 +1077,7 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start epgData.epg_times.startzeit + epgData.epg_times.dauer, epgData.title, epgData.eventID, TIMERD_APIDS_CONF, true, recDir, &evtlist); m.exec(NULL, ""); - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); } else if (doRecord) { @@ -1096,11 +1098,11 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start epgData.epg_times.startzeit - (ANNOUNCETIME + 120 ), TIMERD_APIDS_CONF, true, epgData.epg_times.startzeit - (ANNOUNCETIME + 120) > time(NULL), recDir, true); ShowMsg(LOCALE_TIMER_EVENTRECORD_TITLE, LOCALE_TIMER_EVENTRECORD_MSG, CMsgBox::mbrBack, CMsgBox::mbBack, NEUTRINO_ICON_INFO); - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); } } else { ShowMsg(LOCALE_TIMER_EVENTRECORD_TITLE, LOCALE_TIMER_EVENTRECORD_MSG, CMsgBox::mbrBack, CMsgBox::mbBack, NEUTRINO_ICON_INFO); - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); } } } @@ -1160,7 +1162,7 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start epgData.eventID, epgData.epg_times.startzeit, 0); ShowMsg(LOCALE_TIMER_EVENTTIMED_TITLE, LOCALE_TIMER_EVENTTIMED_MSG, CMsgBox::mbrBack, CMsgBox::mbBack, NEUTRINO_ICON_INFO); - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); } else printf("timerd not available\n"); diff --git a/src/gui/eventlist.cpp b/src/gui/eventlist.cpp index 7f17c199d..48ee970a5 100644 --- a/src/gui/eventlist.cpp +++ b/src/gui/eventlist.cpp @@ -378,7 +378,8 @@ int CEventList::exec(const t_channel_id channel_id, const std::string& channelna int oldselected = selected; - uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + int timeout = g_settings.timing[SNeutrinoSettings::TIMING_EPG]; + uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); bool loop = true; while (loop) @@ -386,7 +387,7 @@ int CEventList::exec(const t_channel_id channel_id, const std::string& channelna g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd); if ( msg <= CRCInput::RC_MaxRC ) - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); if((msg == NeutrinoMessages::EVT_TIMER) && (data == fader.GetFadeTimer())) { if(fader.FadeDone()) @@ -492,7 +493,7 @@ int CEventList::exec(const t_channel_id channel_id, const std::string& channelna hide(); recDirs.exec(NULL,""); paint(evtlist[selected].channelID); - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); } else { @@ -529,7 +530,7 @@ int CEventList::exec(const t_channel_id channel_id, const std::string& channelna evtlist[selected].startTime + evtlist[selected].duration, evtlist[selected].description, evtlist[selected].eventID, TIMERD_APIDS_CONF, true, "", &evtlist); m.exec(NULL, ""); - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); } timerlist.clear(); g_Timerd->getTimerList (timerlist); @@ -559,7 +560,7 @@ int CEventList::exec(const t_channel_id channel_id, const std::string& channelna g_Timerd->getTimerList (timerlist); paint(evtlist[selected].channelID ); paintFoot(evtlist[selected].channelID ); - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); } else if (msg == (neutrino_msg_t)g_settings.key_channelList_cancel) { @@ -609,7 +610,7 @@ int CEventList::exec(const t_channel_id channel_id, const std::string& channelna infozone_background = false; paint(channel_id); paintFoot(channel_id); - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); } else if (msg == CRCInput::RC_epg) { @@ -652,7 +653,7 @@ int CEventList::exec(const t_channel_id channel_id, const std::string& channelna infozone_background = false; paint(channel_id); paintFoot(channel_id); - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); } } } @@ -662,7 +663,7 @@ int CEventList::exec(const t_channel_id channel_id, const std::string& channelna oldEventID = -1; infozone_background = false; in_search = findEvents(channel_id, channelname); - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); } else if (CNeutrinoApp::getInstance()->listModeKey(msg)) { g_RCInput->postMsg (msg, 0); diff --git a/src/gui/filebrowser.cpp b/src/gui/filebrowser.cpp index 9a49f973b..772ca307d 100644 --- a/src/gui/filebrowser.cpp +++ b/src/gui/filebrowser.cpp @@ -637,7 +637,8 @@ bool CFileBrowser::exec(const char * const dirname) unsigned int oldselected = selected; - uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_FILEBROWSER]); + int timeout = g_settings.timing[SNeutrinoSettings::TIMING_FILEBROWSER]; + uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); bool loop=true; while (loop) @@ -646,7 +647,7 @@ bool CFileBrowser::exec(const char * const dirname) neutrino_msg_t msg_repeatok = msg & ~CRCInput::RC_Repeat; if (msg <= CRCInput::RC_MaxRC) - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_FILEBROWSER]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); if(!CRCInput::isNumeric(msg)) { @@ -947,7 +948,8 @@ bool CFileBrowser::playlist_manager(CFileList &playlist, unsigned int playing) paint(); paintFoot(); - uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_FILEBROWSER]); + int timeout = g_settings.timing[SNeutrinoSettings::TIMING_FILEBROWSER]; + uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); bool loop=true; while (loop) @@ -957,7 +959,7 @@ bool CFileBrowser::playlist_manager(CFileList &playlist, unsigned int playing) neutrino_msg_t msg_repeatok = msg & ~CRCInput::RC_Repeat; if (msg <= CRCInput::RC_MaxRC) - timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_FILEBROWSER]); + timeoutEnd = CRCInput::calcTimeoutEnd(timeout == 0 ? 0xFFFF : timeout); if(!CRCInput::isNumeric(msg)) {