From c7e764f93c2ad1cf1a43333c6d4913bde165d6a4 Mon Sep 17 00:00:00 2001 From: satbaby Date: Sun, 16 Sep 2012 16:42:26 +0200 Subject: [PATCH 1/2] sectionsd.cpp:-fix channelID --- src/eitd/sectionsd.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/eitd/sectionsd.cpp b/src/eitd/sectionsd.cpp index cedda59ee..90ba4c097 100644 --- a/src/eitd/sectionsd.cpp +++ b/src/eitd/sectionsd.cpp @@ -2160,8 +2160,8 @@ void CEitManager::getEventsServiceKey(t_channel_id serviceUniqueKey, CChannelEve dprintf("sendAllEvents for " PRINTF_CHANNEL_ID_TYPE "\n", serviceUniqueKey); eList.clear(); - serviceUniqueKey &= 0xFFFFFFFFFFFFULL; //0xFFFFFFFFFFFFULL for CREATE_CHANNEL_ID64 - if(serviceUniqueKey == 0) + t_channel_id serviceUniqueKey64 = serviceUniqueKey& 0xFFFFFFFFFFFFULL; //0xFFFFFFFFFFFFULL for CREATE_CHANNEL_ID64 + if(serviceUniqueKey64 == 0) return; // service Found @@ -2173,7 +2173,7 @@ void CEitManager::getEventsServiceKey(t_channel_id serviceUniqueKey, CChannelEve for (MySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey::iterator e = mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.begin(); e != mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.end(); ++e) { - if ((*e)->get_channel_id() == serviceUniqueKey) { + if ((*e)->get_channel_id() == serviceUniqueKey64) { serviceIDfound = 1; bool copy = true; From 324a4721f4acba70f22a90d8e1699c75d378c959 Mon Sep 17 00:00:00 2001 From: satbaby Date: Sun, 16 Sep 2012 20:15:38 +0200 Subject: [PATCH 2/2] sectionsd.cpp:-fix search mode --- src/eitd/sectionsd.cpp | 4 +++- src/gui/eventlist.cpp | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/eitd/sectionsd.cpp b/src/eitd/sectionsd.cpp index 90ba4c097..412c860cd 100644 --- a/src/eitd/sectionsd.cpp +++ b/src/eitd/sectionsd.cpp @@ -2159,7 +2159,9 @@ void CEitManager::getEventsServiceKey(t_channel_id serviceUniqueKey, CChannelEve { dprintf("sendAllEvents for " PRINTF_CHANNEL_ID_TYPE "\n", serviceUniqueKey); - eList.clear(); + if(!eList.empty() && search == 0)//skip on search mode + eList.clear(); + t_channel_id serviceUniqueKey64 = serviceUniqueKey& 0xFFFFFFFFFFFFULL; //0xFFFFFFFFFFFFULL for CREATE_CHANNEL_ID64 if(serviceUniqueKey64 == 0) return; diff --git a/src/gui/eventlist.cpp b/src/gui/eventlist.cpp index 20afa9c3e..f0f2f5d21 100644 --- a/src/gui/eventlist.cpp +++ b/src/gui/eventlist.cpp @@ -1014,6 +1014,8 @@ bool CNeutrinoEventList::findEvents(void) { res = true; m_showChannel = true; // force the event list to paint the channel name + if(!evtlist.empty()) + evtlist.clear(); if(m_search_list == SEARCH_LIST_CHANNEL) { CEitManager::getInstance()->getEventsServiceKey(m_search_channel_id, evtlist, m_search_epg_item,m_search_keyword);