Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Oeser <info@graphics-engineer.com>2021-08-18 13:45:37 +0300
committerJeroen Bakker <jeroen@blender.org>2021-08-23 12:14:53 +0300
commit3fa1de6ad68b1e3b22c5c30dc039820a1c36c2d4 (patch)
treea134fbb7c39cb15dee49ee9af97adc819e4886bd
parentf3115421828e974518e459bde7bc7942a9090554 (diff)
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
-rw-r--r--source/blender/sequencer/intern/strip_add.c4
1 files changed, 2 insertions, 2 deletions
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);