From 50879fa9311860456b8604e5618f81b6d607eaca Mon Sep 17 00:00:00 2001 From: kamel5 Date: Sun, 28 Mar 2021 12:14:41 +0200 Subject: [PATCH] Fix segfault with mpv plugin (thx to @lnj at vdr-portal.de) This fix prevents a segfault when using the mpv plugin because there are no cutmarks. --- coreengine/viewdisplayreplay.c | 5 +++-- displayreplay.c | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/coreengine/viewdisplayreplay.c b/coreengine/viewdisplayreplay.c index cdd2a77..1ee8684 100644 --- a/coreengine/viewdisplayreplay.c +++ b/coreengine/viewdisplayreplay.c @@ -313,8 +313,9 @@ void cViewReplay::SetProgressbar(int current, int total) { } void cViewReplay::SetMarks(const cMarks *marks, int current, int total) { - if (veCutMarks) - veCutMarks->Set(marks, current, total, timeShiftActive, timeShiftFramesTotal); + if (!veCutMarks) + return; + veCutMarks->Set(marks, current, total, timeShiftActive, timeShiftFramesTotal); Render((int)eVeDisplayReplay::cutmarks); } diff --git a/displayreplay.c b/displayreplay.c index 60079ff..a78d095 100644 --- a/displayreplay.c +++ b/displayreplay.c @@ -45,7 +45,8 @@ void cSDDisplayReplay::SetMode(bool Play, bool Forward, int Speed) { void cSDDisplayReplay::SetProgress(int Current, int Total) { if (ok) { view->SetProgressbar(Current, Total); - view->SetMarks(marks, Current, Total); + if (marks) + view->SetMarks(marks, Current, Total); view->SetTimeshiftTimes(Current, Total); view->SetEndTime(Current, Total); view->DelayOnPause();