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:
authorRichard Antalik <richardantalik@gmail.com>2021-08-24 01:46:34 +0300
committerRichard Antalik <richardantalik@gmail.com>2021-08-24 01:46:34 +0300
commit24a3446787d31f9b32e6759f91349b598c8e9774 (patch)
treef4fd2f2a09ebacc67d4194ef00a4e87578f095a5 /source/blender/sequencer/intern/iterator.c
parenta0c8ee057a59b8b514706a12257a6dc0f9bb3b69 (diff)
Fix T90646: VSE hangs when strips overlap
When all strips are selected and overlap is caused, this causes VSE to hang in infinite loop, because such situation should never happen. To prevent infinite loop, ensure, that strip overlap is not tested against single overlapping strip itself. Prevent overlap that can not be handled because of issue described above by moving overlapping strip between channels. Reviewed By: campbellbarton Differential Revision: D12209
Diffstat (limited to 'source/blender/sequencer/intern/iterator.c')
-rw-r--r--source/blender/sequencer/intern/iterator.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/sequencer/intern/iterator.c b/source/blender/sequencer/intern/iterator.c
index 09f033e70fb..333a8e46c44 100644
--- a/source/blender/sequencer/intern/iterator.c
+++ b/source/blender/sequencer/intern/iterator.c
@@ -123,6 +123,14 @@ uint SEQ_collection_len(const SeqCollection *collection)
}
/**
+ * Check if seq is in collection.
+ */
+bool SEQ_collection_has_strip(const Sequence *seq, const SeqCollection *collection)
+{
+ return BLI_gset_haskey(collection->set, seq);
+}
+
+/**
* Query strips from seqbase. seq_reference is used by query function as filter condition.
*
* \param seq_reference: reference strip for query function