diff options
Diffstat (limited to 'recmenus.c')
-rw-r--r-- | recmenus.c | 21 |
1 files changed, 12 insertions, 9 deletions
@@ -194,8 +194,9 @@ cRecMenuAskDeleteTimer::cRecMenuAskDeleteTimer(const cEvent *event) { // --- cRecMenuTimerConflicts --------------------------------------------------------- cRecMenuTimerConflicts::cRecMenuTimerConflicts(cTVGuideTimerConflicts *conflicts) { - int numConflicts = conflicts->NumConflicts(); - + SetWidthPercent(50); + + int numConflicts = (conflicts) ? conflicts->NumConflicts() : 0; cString text; if (numConflicts == 1) { text = cString::sprintf("%s %s %s", tr("One"), tr("Timer Conflict"), tr("detected")); @@ -233,16 +234,18 @@ int cRecMenuTimerConflicts::GetTimerConflict(void) { cRecMenuTimerConflict::cRecMenuTimerConflict(cTVGuideTimerConflict *conflict) { SetWidthPercent(95); this->conflict = conflict; - SetHeader(new cRecMenuItemTimerConflictHeader(conflict->timeStart, - conflict->timeStop, - conflict->overlapStart, + totalNumMenuItems = (int)conflict->timerIDs.size(); + + SetHeader(new cRecMenuItemTimerConflictHeader(conflict->timeStart, + conflict->timeStop, + conflict->overlapStart, conflict->overlapStop)); SetFooter(new cRecMenuItemButton(tr("Ignore Conflict"), rmsIgnoreTimerConflict, false, true)); int i=0; for(std::vector<int>::iterator it = conflict->timerIDs.begin(); it != conflict->timerIDs.end(); it++) { #if VDRVERSNUM >= 20301 LOCK_TIMERS_READ; - const cTimer *timer = Timers->Get(*it); + const cTimer *timer = Timers->GetById(*it + 1); #else const cTimer *timer = Timers.Get(*it); #endif @@ -268,7 +271,7 @@ cRecMenuTimerConflict::cRecMenuTimerConflict(cTVGuideTimerConflict *conflict) { } cRecMenuItem *cRecMenuTimerConflict::GetMenuItem(int number) { - if ((number >= 0) && (number < (int)conflict->timerIDs.size())) { + if ((number >= 0) && (number < totalNumMenuItems)) { #if VDRVERSNUM >= 20301 LOCK_TIMERS_READ; const cTimer *timer = Timers->Get(conflict->timerIDs[number]); @@ -290,8 +293,8 @@ cRecMenuItem *cRecMenuTimerConflict::GetMenuItem(int number) { return NULL; } -int cRecMenuTimerConflict::GetTotalNumMenuItems(void) { - return conflict->timerIDs.size(); +int cRecMenuTimerConflict::GetTotalNumMenuItems(void) { + return totalNumMenuItems; } int cRecMenuTimerConflict::GetTimerConflictIndex(void) { |