From cea436b7031590bbf93fa390115264bb37870a56 Mon Sep 17 00:00:00 2001 From: Thomas Wilshaw Date: Wed, 11 Nov 2020 21:57:45 +0000 Subject: [PATCH] saveoitio: Add fix for to_json_file The function to_json_file can delete it's SerializableObject if it doesn't have a Retainer associated with it. This fix adds said Retainer. Retainers clean them selves up when possibly_delete is called on their associated object. --- app/task/project/saveotio/saveotio.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/task/project/saveotio/saveotio.cpp b/app/task/project/saveotio/saveotio.cpp index 890d11dfd..ab3933ed9 100644 --- a/app/task/project/saveotio/saveotio.cpp +++ b/app/task/project/saveotio/saveotio.cpp @@ -24,11 +24,14 @@ #include #include #include +#include #include #include "node/block/transition/transition.h" #include "node/input/media/media.h" +#define OTIO opentimelineio::OPENTIMELINEIO_VERSION + OLIVE_NAMESPACE_ENTER SaveOTIOTask::SaveOTIOTask(ProjectPtr project) : @@ -94,6 +97,7 @@ bool SaveOTIOTask::Run() opentimelineio::v1_0::Timeline *SaveOTIOTask::SerializeTimeline(SequencePtr sequence) { auto otio_timeline = new opentimelineio::v1_0::Timeline(sequence->name().toStdString()); + OTIO::Timeline::Retainer* time_retainer = new OTIO::Timeline::Retainer(otio_timeline); if (!SerializeTrackList(sequence->viewer_output()->track_list(Timeline::kTrackTypeVideo), otio_timeline) || !SerializeTrackList(sequence->viewer_output()->track_list(Timeline::kTrackTypeAudio), otio_timeline)) {