diff options
Diffstat (limited to 'source/blender/sequencer/intern/strip_relations.c')
-rw-r--r-- | source/blender/sequencer/intern/strip_relations.c | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/source/blender/sequencer/intern/strip_relations.c b/source/blender/sequencer/intern/strip_relations.c index ec70a683da5..b840b19f244 100644 --- a/source/blender/sequencer/intern/strip_relations.c +++ b/source/blender/sequencer/intern/strip_relations.c @@ -476,6 +476,24 @@ void SEQ_relations_session_uuid_generate(struct Sequence *sequence) sequence->runtime.session_uuid = BLI_session_uuid_generate(); } +static bool get_uuids_cb(Sequence *seq, void *user_data) +{ + struct GSet *used_uuids = (struct GSet *)user_data; + const SessionUUID *session_uuid = &seq->runtime.session_uuid; + if (!BLI_session_uuid_is_generated(session_uuid)) { + printf("Sequence %s does not have UUID generated.\n", seq->name); + return true; + } + + if (BLI_gset_lookup(used_uuids, session_uuid) != NULL) { + printf("Sequence %s has duplicate UUID generated.\n", seq->name); + return true; + } + + BLI_gset_insert(used_uuids, (void *)session_uuid); + return true; +} + void SEQ_relations_check_uuids_unique_and_report(const Scene *scene) { if (scene->ed == NULL) { @@ -485,22 +503,7 @@ void SEQ_relations_check_uuids_unique_and_report(const Scene *scene) struct GSet *used_uuids = BLI_gset_new( BLI_session_uuid_ghash_hash, BLI_session_uuid_ghash_compare, "sequencer used uuids"); - const Sequence *sequence; - SEQ_ALL_BEGIN (scene->ed, sequence) { - const SessionUUID *session_uuid = &sequence->runtime.session_uuid; - if (!BLI_session_uuid_is_generated(session_uuid)) { - printf("Sequence %s does not have UUID generated.\n", sequence->name); - continue; - } - - if (BLI_gset_lookup(used_uuids, session_uuid) != NULL) { - printf("Sequence %s has duplicate UUID generated.\n", sequence->name); - continue; - } - - BLI_gset_insert(used_uuids, (void *)session_uuid); - } - SEQ_ALL_END; + SEQ_for_each_callback(&scene->ed->seqbase, get_uuids_cb, used_uuids); BLI_gset_free(used_uuids, NULL); } |