diff --git a/app/node/project/sequence/sequence.cpp b/app/node/project/sequence/sequence.cpp index 9b8bd62c5..6ee484adc 100644 --- a/app/node/project/sequence/sequence.cpp +++ b/app/node/project/sequence/sequence.cpp @@ -56,8 +56,18 @@ Sequence::Sequence() void Sequence::add_default_nodes(MultiUndoCommand* command) { // Create tracks and connect them to the viewer - command->add_child(new TimelineAddTrackCommand(track_list(Track::kVideo))); - command->add_child(new TimelineAddTrackCommand(track_list(Track::kAudio))); + UndoCommand* video_track_command = new TimelineAddTrackCommand(track_list(Track::kVideo)); + UndoCommand* audio_track_command = new TimelineAddTrackCommand(track_list(Track::kAudio)); + + if (command) { + command->add_child(video_track_command); + command->add_child(audio_track_command); + } else { + video_track_command->redo(); + audio_track_command->redo(); + delete video_track_command; + delete audio_track_command; + } } QIcon Sequence::icon() const diff --git a/app/node/project/sequence/sequence.h b/app/node/project/sequence/sequence.h index a9b7e4a93..6e638cb19 100644 --- a/app/node/project/sequence/sequence.h +++ b/app/node/project/sequence/sequence.h @@ -63,7 +63,7 @@ public: return tr("A series of cuts that result in an edited video. Also called a timeline."); } - void add_default_nodes(MultiUndoCommand *command); + void add_default_nodes(MultiUndoCommand *command = nullptr); virtual QIcon icon() const override;