diff --git a/HISTORY b/HISTORY index 3bc8d072..08214822 100644 --- a/HISTORY +++ b/HISTORY @@ -2714,7 +2714,7 @@ Video Disk Recorder Revision History whether an event is currently running (see MANUAL under "The "Schedule" Menu" for details). -2004-03-05: Version 1.3.6 +2004-03-07: Version 1.3.6 - Completed the Finnish OSD texts (thanks to Rolf Ahrenberg). - Fixed some descriptor handling in 'libsi' (thanks to Stéphane Esté-Gracias). @@ -2722,3 +2722,6 @@ Video Disk Recorder Revision History - Fixed assigning events to timers (they no longer get "stuck"). - Added log entries whenever the running status of an event changes (currently only logging the first 30 channels). +- Fixed handling timers in VPS margin if the EPG scan is turned on (the EPG scan + switched the device away from the channel, so it wouldn't see the change of + the running status). diff --git a/menu.c b/menu.c index e29bde7f..494440c8 100644 --- a/menu.c +++ b/menu.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 1.294 2004/03/06 10:13:15 kls Exp $ + * $Id: menu.c 1.295 2004/03/07 09:40:34 kls Exp $ */ #include "menu.h" @@ -3195,6 +3195,7 @@ bool cRecordControls::Start(cTimer *Timer, bool Pause) if (device == cTransferControl::ReceiverDevice()) cControl::Shutdown(); // in case this device was used for Transfer Mode } + dsyslog("switching device %d to channel %d", device->DeviceNumber() + 1, channel->Number()); if (!device->SwitchChannel(channel, false)) { cThread::EmergencyExit(true); return false; diff --git a/vdr.c b/vdr.c index 2da8349c..ec03c21a 100644 --- a/vdr.c +++ b/vdr.c @@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/vdr * - * $Id: vdr.c 1.178 2004/02/29 14:21:22 kls Exp $ + * $Id: vdr.c 1.179 2004/03/07 09:39:54 kls Exp $ */ #include @@ -571,7 +571,6 @@ int main(int argc, char *argv[]) if (Timer->HasFlags(tfActive | tfVps) && !Timer->Recording() && !Timer->Pending() && Timer->Matches(Now + Setup.VpsMargin, true)) { if (!Timer->InVpsMargin()) { Timer->SetInVpsMargin(true); - TimerInVpsMargin = true; //XXX if not primary device has TP??? LastTimerChannel = Timer->Channel()->Number(); cRecordControls::Start(Timer); // will only switch the device @@ -579,6 +578,8 @@ int main(int argc, char *argv[]) } else Timer->SetInVpsMargin(false); + if (Timer->InVpsMargin()) + TimerInVpsMargin = true; } } // CAM control: