1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Fixed deleting the source recording after moving it to a different volume (cont'd)

This commit is contained in:
Klaus Schmidinger 2014-01-18 12:54:56 +01:00
parent 2e41129c36
commit 35d4ceaf37

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: recording.c 3.12 2014/01/16 11:03:41 kls Exp $ * $Id: recording.c 3.13 2014/01/18 12:54:56 kls Exp $
*/ */
#include "recording.h" #include "recording.h"
@ -1519,8 +1519,11 @@ void cRecordings::DelByName(const char *FileName)
{ {
LOCK_THREAD; LOCK_THREAD;
cRecording *recording = GetByName(FileName); cRecording *recording = GetByName(FileName);
if (recording) { cRecording *dummy = NULL;
if (!recording)
recording = dummy = new cRecording(FileName); // allows us to use a FileName that is not in the Recordings list
cThreadLock DeletedRecordingsLock(&DeletedRecordings); cThreadLock DeletedRecordingsLock(&DeletedRecordings);
if (!dummy)
Del(recording, false); Del(recording, false);
char *ext = strrchr(recording->fileName, '.'); char *ext = strrchr(recording->fileName, '.');
if (ext) { if (ext) {
@ -1535,7 +1538,6 @@ void cRecordings::DelByName(const char *FileName)
ChangeState(); ChangeState();
TouchUpdate(); TouchUpdate();
} }
}
void cRecordings::UpdateByName(const char *FileName) void cRecordings::UpdateByName(const char *FileName)
{ {
@ -1880,7 +1882,7 @@ bool cRecordingsHandlerEntry::Active(bool &Error)
if (CopierFinishedOk && (Usage() & ruMove) != 0) { if (CopierFinishedOk && (Usage() & ruMove) != 0) {
cRecording Recording(FileNameSrc()); cRecording Recording(FileNameSrc());
if (Recording.Delete()) if (Recording.Delete())
DeletedRecordings.AddByName(Recording.FileName()); Recordings.DelByName(Recording.FileName());
} }
Recordings.ChangeState(); Recordings.ChangeState();
Recordings.TouchUpdate(); Recordings.TouchUpdate();