summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'util.c')
-rw-r--r--util.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/util.c b/util.c
index 2683131..92164a6 100644
--- a/util.c
+++ b/util.c
@@ -183,11 +183,17 @@ void cAddEventThread::Action(void)
cSchedules *schedules = (cSchedules *)cSchedules::Schedules(SchedulesLock);
Lock();
while (schedules && (e = list->First()) != NULL) {
+ tChannelID chID = e->GetChannelID();
cSchedule *schedule = (cSchedule *)schedules->GetSchedule(Channels.GetByChannelID(e->GetChannelID()), true);
+ while (schedules && (e = list->First()) != NULL) {
+
+ if (chID == e->GetChannelID()) {
schedule->AddEvent(e->GetEvent());
- EpgHandlers.SortSchedule(schedule);
- EpgHandlers.DropOutdated(schedule, e->GetEvent()->StartTime(), e->GetEvent()->EndTime(), e->GetEvent()->TableID(), e->GetEvent()->Version());
list->Del(e);
+ }
+ }
+ EpgHandlers.SortSchedule(schedule);
+// EpgHandlers.DropOutdated(schedule, e->GetEvent()->StartTime(), e->GetEvent()->EndTime(), e->GetEvent()->TableID(), e->GetEvent()->Version());
}
Unlock();
cCondWait::SleepMs(10);