diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2004-11-20 11:00:26 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2004-11-20 11:00:26 +0100 |
commit | b04f71562dc26ca4e98b12ae835c7e3291c2792f (patch) | |
tree | ab78cd0c3d38d13a69fe96c804556aac957869fd /menu.c | |
parent | 2eda0c4113a4755ed0239b4ecdddafc16965b9f4 (diff) | |
download | vdr-b04f71562dc26ca4e98b12ae835c7e3291c2792f.tar.gz vdr-b04f71562dc26ca4e98b12ae835c7e3291c2792f.tar.bz2 |
Fixed a possible crash when pausing live video and the recording was unable to start
Diffstat (limited to 'menu.c')
-rw-r--r-- | menu.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 1.319 2004/11/01 13:49:40 kls Exp $ + * $Id: menu.c 1.320 2004/11/20 10:49:17 kls Exp $ */ #include "menu.h" @@ -2833,10 +2833,16 @@ cRecordControl::cRecordControl(cDevice *Device, cTimer *Timer, bool Pause) if (!Timer && !cReplayControl::LastReplayed()) // an instant recording, maybe from cRecordControls::PauseLiveVideo() cReplayControl::SetRecording(fileName, Recording.Name()); Recordings.AddByName(fileName); + return; } else DELETENULL(recorder); } + if (!Timer) { + Timers.Del(timer); + Timers.SetModified(); + timer = NULL; + } } cRecordControl::~cRecordControl() @@ -2928,7 +2934,7 @@ bool cRecordControls::Start(cTimer *Timer, bool Pause) for (int i = 0; i < MAXRECORDCONTROLS; i++) { if (!RecordControls[i]) { RecordControls[i] = new cRecordControl(device, Timer, Pause); - return true; + return RecordControls[i]->Process(time(NULL)); } } } |