mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Fixed a crash when deleting a recording that is currently being edited, and then immediately deleting the edited version, too
This commit is contained in:
parent
71b0140003
commit
1df138d876
@ -2210,6 +2210,8 @@ Marko M
|
||||
for avoiding unnecessary processing in cDvbSubtitleConverter::FinishPage() if there
|
||||
are no areas
|
||||
for avoiding a zero sized array in cDevice::GetDevice()
|
||||
for reporting a crash when deleting a recording that is currently being edited, and
|
||||
then immediately deleting the edited version, too
|
||||
|
||||
Patrick Rother <krd-vdr@gulu.net>
|
||||
for reporting a bug in defining timers that only differ in the day of week
|
||||
|
2
HISTORY
2
HISTORY
@ -9976,3 +9976,5 @@ Video Disk Recorder Revision History
|
||||
an MPEG decoder.
|
||||
- The new SVDRP command 'AUDI' can be used to list the currently available audio tracks
|
||||
and select one of them.
|
||||
- Fixed a crash when deleting a recording that is currently being edited, and then
|
||||
immediately deleting the edited version, too (reported by Marko Mäkelä).
|
||||
|
5
menu.c
5
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 5.15 2024/08/30 09:55:15 kls Exp $
|
||||
* $Id: menu.c 5.16 2024/08/30 20:43:26 kls Exp $
|
||||
*/
|
||||
|
||||
#include "menu.h"
|
||||
@ -3290,8 +3290,11 @@ eOSState cMenuRecordings::Delete(void)
|
||||
if (RecordingsHandler.GetUsage(FileName)) {
|
||||
if (!Interface->Confirm(tr("Recording is being edited - really delete?")))
|
||||
return osContinue;
|
||||
SetNeedsFastResponse(true); // makes sure the edited version is removed from the menu ASAP
|
||||
}
|
||||
}
|
||||
else
|
||||
return osContinue; // recording has already been deleted
|
||||
}
|
||||
RecordingsHandler.Del(FileName); // must do this w/o holding a lock, because the cleanup section in cDirCopier::Action() might request one!
|
||||
if (cReplayControl::NowReplaying() && strcmp(cReplayControl::NowReplaying(), FileName) == 0)
|
||||
|
10
recording.c
10
recording.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: recording.c 5.28 2024/06/13 09:31:11 kls Exp $
|
||||
* $Id: recording.c 5.29 2024/08/30 20:43:26 kls Exp $
|
||||
*/
|
||||
|
||||
#include "recording.h"
|
||||
@ -2078,8 +2078,10 @@ void cRecordingsHandlerEntry::Cleanup(cRecordings *Recordings)
|
||||
delete cutter;
|
||||
cutter = NULL;
|
||||
}
|
||||
cVideoDirectory::RemoveVideoFile(fileNameDst);
|
||||
if (cRecording *Recording = Recordings->GetByName(fileNameDst))
|
||||
Recording->Delete();
|
||||
Recordings->DelByName(fileNameDst);
|
||||
Recordings->SetModified();
|
||||
}
|
||||
}
|
||||
if ((usage & (ruMove | ruCopy)) // this was a move/copy operation...
|
||||
@ -2090,10 +2092,12 @@ void cRecordingsHandlerEntry::Cleanup(cRecordings *Recordings)
|
||||
delete copier;
|
||||
copier = NULL;
|
||||
}
|
||||
cVideoDirectory::RemoveVideoFile(fileNameDst);
|
||||
if (cRecording *Recording = Recordings->GetByName(fileNameDst))
|
||||
Recording->Delete();
|
||||
if ((usage & ruMove) != 0)
|
||||
Recordings->AddByName(fileNameSrc);
|
||||
Recordings->DelByName(fileNameDst);
|
||||
Recordings->SetModified();
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user