Fix T86355: Added effect strip has wrong length

SEQ_add_effect_strip used SeqLoadData.image.end_frame to set end
frame. This was mistake introduced in last refactoring patch.

Use effect data, not image data, when adding effect strips.

Reviewed By: sergey

Differential Revision: D10633
This commit is contained in:
Richard Antalik 2021-03-20 01:34:12 +01:00
parent c81dfa2426
commit 3433d1b7f4
Notes: blender-bot 2023-02-14 08:06:33 +01:00
Referenced by issue #86355, sequences.new_effect() parameter frame_end always gets treated as 0
2 changed files with 3 additions and 1 deletions

View File

@ -255,6 +255,7 @@ static void load_data_init_from_operator(SeqLoadData *load_data, bContext *C, wm
if ((prop = RNA_struct_find_property(op->ptr, "frame_end"))) {
load_data->image.end_frame = RNA_property_int_get(op->ptr, prop);
load_data->effect.end_frame = load_data->image.end_frame;
}
if ((prop = RNA_struct_find_property(op->ptr, "cache")) &&

View File

@ -226,8 +226,9 @@ Sequence *SEQ_add_effect_strip(Scene *scene, ListBase *seqbase, struct SeqLoadDa
if (!load_data->effect.seq1) {
seq->len = 1; /* Effect is generator, set non zero length. */
SEQ_transform_set_right_handle_frame(seq, load_data->image.end_frame);
SEQ_transform_set_right_handle_frame(seq, load_data->effect.end_frame);
}
SEQ_relations_update_changed_seq_and_deps(scene, seq, 1, 1); /* Runs SEQ_time_update_sequence. */
seq_add_set_name(seq, load_data);
seq_add_generic_update(scene, seqbase, seq);