reworked all timeline commands

I'll be honest, this stuff probably caused a lot of crashes. Objects were constantly created and destroyed without the foresight that other commands might be using them. This should fix a lot of that.
This commit is contained in:
itsmattkc
2021-01-15 14:36:21 +11:00
parent 96c0921193
commit 91740dd823
11 changed files with 1990 additions and 1912 deletions
+2 -4
View File
@@ -469,9 +469,7 @@ void TimelineWidget::DeleteSelected(bool ripple)
// For transitions, remove them but extend their attached blocks to fill their place
foreach (TransitionBlock* transition, transitions_to_delete) {
new TransitionRemoveCommand(transition->track(),
transition,
command);
new TransitionRemoveCommand(transition, command);
Node::RemoveNodesAndExclusiveDependencies(transition, command);
}
@@ -480,7 +478,7 @@ void TimelineWidget::DeleteSelected(bool ripple)
ReplaceBlocksWithGaps(clips_to_delete, true, command);
// Remove all selections
new TimelineSetSelectionsCommand(this, TimelineWidgetSelections(), GetSelections(), command);
new SetSelectionsCommand(this, TimelineWidgetSelections(), GetSelections(), command);
// Insert ripple command now that it's all cleaned up gaps
if (ripple) {