diff --git a/timeline/sequence.h b/timeline/sequence.h index 3edf773fd..0bf2dad49 100644 --- a/timeline/sequence.h +++ b/timeline/sequence.h @@ -120,6 +120,8 @@ public: int save_id; QVector markers; +signals: + void Changed(); private: QVector track_lists_; diff --git a/ui/focusfilter.cpp b/ui/focusfilter.cpp index 4092bc6c7..b3e6de286 100644 --- a/ui/focusfilter.cpp +++ b/ui/focusfilter.cpp @@ -206,9 +206,12 @@ void FocusFilter::delete_function() { panel_graph_editor->delete_selected_keys(); } else { Sequence* top_sequence = Timeline::GetTopSequence().get(); - ComboAction* ca = new ComboAction(); - top_sequence->DeleteAreas(ca, top_sequence->Selections(), true); - olive::undo_stack.push(ca); + if (top_sequence != nullptr) { + ComboAction* ca = new ComboAction(); + top_sequence->DeleteAreas(ca, top_sequence->Selections(), true); + olive::undo_stack.push(ca); + Timeline::GetTopTimeline()->repaint_timeline(); + } } } diff --git a/undo/undo.cpp b/undo/undo.cpp index 98056807b..366fc8a3a 100644 --- a/undo/undo.cpp +++ b/undo/undo.cpp @@ -270,8 +270,9 @@ void ModifyTransitionCommand::doRedo() { transition_ref_->set_length(new_length_); } -DeleteTransitionCommand::DeleteTransitionCommand(TransitionPtr t) { - transition_ref_ = t; +DeleteTransitionCommand::DeleteTransitionCommand(TransitionPtr t) : + transition_ref_(t) +{ } void DeleteTransitionCommand::doUndo() {