From 2c14a950a718b2a82d6f9da29bad038a2c91ec74 Mon Sep 17 00:00:00 2001 From: Richard Antalik Date: Sat, 17 Oct 2020 07:01:12 +0200 Subject: Fix T81594: Unable to reassign effect inputs This was caused by canceling operator if strip has more than 0 inputs. Logic should be reversed - cancel only if strip has 0 inputs. BKE_sequencer_render_loop_check() arguments had to be sanitized because seq_effect_find_selected() can set seq1,2,3 to NULL Reviewed By: sergey Differential Revision: https://developer.blender.org/D9197 --- source/blender/editors/space_sequencer/sequencer_edit.c | 2 +- source/blender/sequencer/intern/sequencer.c | 4 ++++ 2 files changed, 5 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 e446a1a5ed7..8a705ef49dd 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -2134,7 +2134,7 @@ static int sequencer_reassign_inputs_exec(bContext *C, wmOperator *op) Sequence *seq1, *seq2, *seq3, *last_seq = BKE_sequencer_active_get(scene); const char *error_msg; - if (BKE_sequence_effect_get_num_inputs(last_seq->type) != 0) { + if (BKE_sequence_effect_get_num_inputs(last_seq->type) == 0) { BKE_report(op->reports, RPT_ERROR, "Cannot reassign inputs: strip has no inputs"); return OPERATOR_CANCELLED; } diff --git a/source/blender/sequencer/intern/sequencer.c b/source/blender/sequencer/intern/sequencer.c index cb62ffe500b..2e38c478905 100644 --- a/source/blender/sequencer/intern/sequencer.c +++ b/source/blender/sequencer/intern/sequencer.c @@ -6085,6 +6085,10 @@ bool BKE_sequencer_check_scene_recursion(Scene *scene, ReportList *reports) /* Check if "seq_main" (indirectly) uses strip "seq". */ bool BKE_sequencer_render_loop_check(Sequence *seq_main, Sequence *seq) { + if (seq_main == NULL || seq == NULL) { + return false; + } + if (seq_main == seq) { return true; } -- cgit v1.2.3