From b086cf85dcbdbb31e6a89b44babe01d7f0714ae8 Mon Sep 17 00:00:00 2001 From: kamel5 Date: Fri, 4 May 2018 11:36:06 +0200 Subject: [PATCH] Changes for locking in cChannelColumn::SetTimers() --- channelcolumn.c | 2 ++ epggrid.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) 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));