diff --git a/ChangeLog b/ChangeLog index 6aba4e77..dd0dfc7b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21663,4 +21663,6 @@ 2021-05-11 Fred Gleason * Fixed a bug in rdcastmanager(1) that could cause a segfault when closing the 'List Feed' dialog. - +2021-05-11 Fred Gleason + * Fixed a regression in the log rendering engine which caused + a segfault when cleaning up temporary files. diff --git a/lib/rdrenderer.cpp b/lib/rdrenderer.cpp index 212dd55e..2f1da650 100644 --- a/lib/rdrenderer.cpp +++ b/lib/rdrenderer.cpp @@ -218,8 +218,8 @@ bool __RDRenderLogLine::GetCutFile(const QString &cutname,int start_pt, void __RDRenderLogLine::DeleteCutFile(const QString &dest_filename) const { unlink(dest_filename.toUtf8()); - QStringList f0=dest_filename.split("/"); - f0.erase(f0.end()); + QStringList f0=dest_filename.split("/",QString::SkipEmptyParts); + f0.removeLast(); rmdir(("/"+f0.join("/")).toUtf8()); } @@ -636,8 +636,8 @@ bool RDRenderer::ImportCart(const QString &srcfile,unsigned cartnum,int cutnum, void RDRenderer::DeleteTempFile(const QString &filename) const { unlink(filename.toUtf8()); - QStringList f0=filename.split("/"); - f0.erase(f0.end()); + QStringList f0=filename.split("/",QString::SkipEmptyParts); + f0.removeLast(); rmdir(("/"+f0.join("/")).toUtf8()); }