From 3fa1de6ad68b1e3b22c5c30dc039820a1c36c2d4 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Wed, 18 Aug 2021 12:45:37 +0200 Subject: Fix T90737: VSE adding nested strips could have non-unique names Caused by {rBbbb1936411a5}. When adding strips via the new SEQ_add_XXX_strip functions, the `Editing->seqbasep` pointer was passed around. Following in `seq_add_generic_update` this `seqbasep` pointer was used to ensure a unique name. But `seqbasep` is the pointer to the current list of seq's being edited (**which can be limited to the ones within a meta strip**). We need unique names across all strips though (since these are used for RNA paths, FCurves as reported), so now use the scene's `Editing- >seqbase` (**which is the list of the top-most sequences**) instead. Unfortunately this might have screwed files to a borked state, not sure if this could easily be fixed... Maniphest Tasks: T90737 Differential Revision: https://developer.blender.org/D12256 --- source/blender/sequencer/intern/strip_add.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source') diff --git a/source/blender/sequencer/intern/strip_add.c b/source/blender/sequencer/intern/strip_add.c index 63b0edc2706..eea8d2c5676 100644 --- a/source/blender/sequencer/intern/strip_add.c +++ b/source/blender/sequencer/intern/strip_add.c @@ -96,9 +96,9 @@ void SEQ_add_load_data_init(SeqLoadData *load_data, load_data->channel = channel; } -static void seq_add_generic_update(Scene *scene, ListBase *seqbase, Sequence *seq) +static void seq_add_generic_update(Scene *scene, ListBase *UNUSED(seqbase), Sequence *seq) { - SEQ_sequence_base_unique_name_recursive(seqbase, seq); + SEQ_sequence_base_unique_name_recursive(&scene->ed->seqbase, seq); SEQ_time_update_sequence_bounds(scene, seq); SEQ_sort(scene); SEQ_relations_invalidate_cache_composite(scene, seq); -- cgit v1.2.3