diff --git a/channelcolumn.c b/channelcolumn.c index f43f33c..459411d 100644 --- a/channelcolumn.c +++ b/channelcolumn.c @@ -386,11 +386,13 @@ void cChannelColumn::SetTimers() { #if VDRVERSNUM >= 20301 hasTimer = false; const cSchedule *Schedule = NULL; + { LOCK_SCHEDULES_READ; const cSchedules* schedules = Schedules; if (schedules) { Schedule = schedules->GetSchedule(channel); hasTimer = Schedule ? Schedule->HasTimer() : false; + } } #else hasTimer = channel->HasTimer(); diff --git a/epggrid.c b/epggrid.c index 9b6ef1a..d73cb20 100644 --- a/epggrid.c +++ b/epggrid.c @@ -155,9 +155,11 @@ void cEpgGrid::drawText() { drawIcon("Switch", theme.Color(clrButtonYellow)); if (hasTimer) { const cTimer *timer = NULL; + { LOCK_TIMERS_READ; timer = Timers->GetMatch(event); - if (timer) + } + if (timer) #ifdef USE_SWITCHONLY if (timer->HasFlags(tfSwitchOnly)) drawIcon("Switch", theme.Color(clrButtonYellow));