diff options
Diffstat (limited to 'recmenuview.c')
-rw-r--r-- | recmenuview.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/recmenuview.c b/recmenuview.c index 74e6f2b..53744c8 100644 --- a/recmenuview.c +++ b/recmenuview.c @@ -96,11 +96,15 @@ bool cRecMenuView::DisplayTimerConflict(const cTimer *timer) { #if VDRVERSNUM >= 20301 LOCK_TIMERS_READ; for (const cTimer *t = Timers->First(); t; t = Timers->Next(t)) { + if (t == timer) + return DisplayTimerConflict(timer->Id() - 1); #else + int timerID = 0; for (const cTimer *t = Timers.First(); t; t = Timers.Next(t)) { -#endif if (t == timer) - return DisplayTimerConflict(timer->Id() - 1); + return DisplayTimerConflict(timerID); + timerID++; +#endif } return false; } @@ -248,17 +252,20 @@ eOSState cRecMenuView::StateMachine(eRecMenuState nextState) { if (cRecMenuTimerConflict *menu = dynamic_cast<cRecMenuTimerConflict*>(activeMenu)) { timerIndex = menu->GetTimerConflictIndex(); } else break; - int timerID = timerConflicts->GetCurrentConflictTimerID(timerIndex) + 1; const cTimers* timers; + const cEvent *event; #if VDRVERSNUM >= 20301 + int timerID = timerConflicts->GetCurrentConflictTimerID(timerIndex) + 1; { LOCK_TIMERS_READ; timers = Timers; } + event = timers->GetById(timerID)->Event(); #else + int timerID = timerConflicts->GetCurrentConflictTimerID(timerIndex); timers = &Timers; + event = timers->Get(timerID)->Event(); #endif - const cEvent *event = timers->GetById(timerID)->Event(); recManager->DeleteTimer(event); // (timerID); delete activeMenu; if (!DisplayTimerConflict(timerID)) { |