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>2020-05-24 21:52:59 +0300
committerRichard Antalik <richardantalik@gmail.com>2020-05-24 22:03:31 +0300
commit0d0df683d983200dad5f33d0d1b2c8b417d7199f (patch)
tree0959d9bbfefddc15c3c043cf1f9ae0d77a399c43
parent22462fed000d7494522f7824ede7ff9f99d2bddf (diff)
Fix(unreported): Crash on prefetching while transforming strip.
While investigating T76274, I found crash scenario when playhead is near end frame and moving a strip. It is not as easy to reproduce, about 5% success rate, and it will be even harder after rB4066c921fbe5. Exact cause wasn't identified yet. I wanted to disable prefetching during modal operator execution in VSE, but currently I don't have any signalling method in place. Checking for G.moving seems to resolve this problem, but it doesn't adress root cause of bug. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7820
-rw-r--r--source/blender/blenkernel/intern/seqprefetch.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/seqprefetch.c b/source/blender/blenkernel/intern/seqprefetch.c
index d400f712728..dd074c643ac 100644
--- a/source/blender/blenkernel/intern/seqprefetch.c
+++ b/source/blender/blenkernel/intern/seqprefetch.c
@@ -536,11 +536,11 @@ void BKE_sequencer_prefetch_start(const SeqRenderData *context, float cfra, floa
/* conditions to start:
* prefetch enabled, prefetch not running, not scrubbing,
* not playing and rendering-expensive footage, cache storage enabled, has strips to render,
- * not rendering.
+ * not rendering, not doing modal transform - important, see D7820.
*/
if ((ed->cache_flag & SEQ_CACHE_PREFETCH_ENABLE) && !running && !scrubbing &&
!(playing && cost > 0.9) && ed->cache_flag & SEQ_CACHE_ALL_TYPES && has_strips &&
- !G.is_rendering) {
+ !G.is_rendering && !G.moving) {
seq_prefetch_start(context, cfra);
}