From 2e4a43133e140eb5bd3344ef5486aca3dda41caf Mon Sep 17 00:00:00 2001 From: kamel5 Date: Sat, 9 Nov 2019 11:01:28 +0100 Subject: [PATCH] Fixed a error in DeleteTimerConflictMenu --- recmanager.c | 15 --------------- recmanager.h | 1 - recmenuview.c | 15 ++++++++++++--- 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/recmanager.c b/recmanager.c index dc199ab..4ecdb66 100644 --- a/recmanager.c +++ b/recmanager.c @@ -175,21 +175,6 @@ void cRecManager::SetTimerPath(cTimer *timer, const cEvent *event, std::string p timer->SetFile(*newFileName); } -void cRecManager::DeleteTimer(int timerID) { - const cTimer *t; -#if VDRVERSNUM >= 20301 - { - LOCK_TIMERS_READ; - t = Timers->Get(timerID); - } -#else - t = Timers.Get(timerID); -#endif - if (!t) - return; - DeleteTimer(t); -} - void cRecManager::DeleteTimer(const cEvent *event) { if (!event) return; diff --git a/recmanager.h b/recmanager.h index c56a645..173fc41 100644 --- a/recmanager.h +++ b/recmanager.h @@ -34,7 +34,6 @@ public: cTimer *createRemoteTimer(const cEvent *event, std::string path); void SetTimerPath(cTimer *timer, const cEvent *event, std::string path); void DeleteTimer(const cTimer *timer); - void DeleteTimer(int timerID); void DeleteTimer(const cEvent *event); void DeleteLocalTimer(const cEvent *event); void DeleteRemoteTimer(const cEvent *event); diff --git a/recmenuview.c b/recmenuview.c index a7b1d62..1437ff4 100644 --- a/recmenuview.c +++ b/recmenuview.c @@ -234,7 +234,7 @@ eOSState cRecMenuView::StateMachine(eRecMenuState nextState) { LOCK_TIMERS_READ; const cTimer *t = Timers->Get(timerID); #else - cTimer *t = Timers.Get(timerID); + const cTimer *t = Timers.Get(timerID); #endif if (t) { const cEvent *ev = t->Event(); @@ -251,10 +251,19 @@ eOSState cRecMenuView::StateMachine(eRecMenuState nextState) { timerIndex = menu->GetTimerConflictIndex(); } else break; int timerID = timerConflicts->GetCurrentConflictTimerID(timerIndex); - recManager->DeleteTimer(timerID); + const cTimers* timers; +#if VDRVERSNUM >= 20301 + { + LOCK_TIMERS_READ; + timers = Timers; + } +#else + timers = &Timers; +#endif + recManager->DeleteTimer(timers->Get(timerID)->Event()); delete activeMenu; if (!DisplayTimerConflict(timerID)) { - activeMenu = new cRecMenuConfirmTimer(event); + activeMenu = new cRecMenuConfirmTimer(timers->Get(timerID)->Event()); activeMenu->Display(); } break; }