From 2d54b0f275dfc4060607eca10886dc8af7751824 Mon Sep 17 00:00:00 2001 From: Richard Antalik Date: Thu, 23 Jun 2022 18:11:33 +0200 Subject: Fix T99110: Crash after running view_all operator in VSE Crash caused by NULL dereference, when `Editing` is not initialized. Check if data is initialized in poll function. --- source/blender/editors/space_sequencer/sequencer_edit.c | 5 +++++ source/blender/editors/space_sequencer/sequencer_intern.h | 1 + source/blender/editors/space_sequencer/sequencer_view.c | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) (limited to 'source/blender') diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 0305ad279a0..96961656318 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -174,6 +174,11 @@ bool sequencer_edit_poll(bContext *C) return (SEQ_editing_get(CTX_data_scene(C)) != NULL); } +bool sequencer_editing_initialized_and_active(bContext *C) +{ + return ED_operator_sequencer_active(C) && sequencer_edit_poll(C); +} + #if 0 /* UNUSED */ bool sequencer_strip_poll(bContext *C) { diff --git a/source/blender/editors/space_sequencer/sequencer_intern.h b/source/blender/editors/space_sequencer/sequencer_intern.h index 67df065ef35..69c1a9df577 100644 --- a/source/blender/editors/space_sequencer/sequencer_intern.h +++ b/source/blender/editors/space_sequencer/sequencer_intern.h @@ -133,6 +133,7 @@ int seq_effect_find_selected(struct Scene *scene, /* Operator helpers. */ bool sequencer_edit_poll(struct bContext *C); +bool sequencer_editing_initialized_and_active(struct bContext *C); /* UNUSED */ /* bool sequencer_strip_poll(struct bContext *C); */ bool sequencer_strip_has_path_poll(struct bContext *C); diff --git a/source/blender/editors/space_sequencer/sequencer_view.c b/source/blender/editors/space_sequencer/sequencer_view.c index b3dbc3c72d1..ee1c14e318d 100644 --- a/source/blender/editors/space_sequencer/sequencer_view.c +++ b/source/blender/editors/space_sequencer/sequencer_view.c @@ -375,7 +375,7 @@ void SEQUENCER_OT_view_selected(wmOperatorType *ot) /* Api callbacks. */ ot->exec = sequencer_view_selected_exec; - ot->poll = ED_operator_sequencer_active; + ot->poll = sequencer_editing_initialized_and_active; /* Flags. */ ot->flag = OPTYPE_REGISTER; -- cgit v1.2.3