[Bf-blender-cvs] [3fa1de6ad68] blender-v2.93-release: Fix T90737: VSE adding nested strips could have non-unique names

Philipp Oeser noreply at git.blender.org
Mon Aug 23 11:56:27 CEST 2021


Commit: 3fa1de6ad68b1e3b22c5c30dc039820a1c36c2d4
Author: Philipp Oeser
Date:   Wed Aug 18 12:45:37 2021 +0200
Branches: blender-v2.93-release
https://developer.blender.org/rB3fa1de6ad68b1e3b22c5c30dc039820a1c36c2d4

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

===================================================================

M	source/blender/sequencer/intern/strip_add.c

===================================================================

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);



More information about the Bf-blender-cvs mailing list