[Bf-blender-cvs] [8d1978a8e01] blender-v2.91-release: Fix T81250: Crash after undoing with prefetching

Richard Antalik noreply at git.blender.org
Mon Oct 26 00:34:59 CET 2020


Commit: 8d1978a8e0131ab59e94e7e37e063db305166711
Author: Richard Antalik
Date:   Mon Oct 26 00:28:54 2020 +0100
Branches: blender-v2.91-release
https://developer.blender.org/rB8d1978a8e0131ab59e94e7e37e063db305166711

Fix T81250: Crash after undoing with prefetching

Main DB and it's structs can point to different address after undoing.

In this case problem was that bmain was not updated. Same fix was
done for scene as well.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D9240

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

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

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

diff --git a/source/blender/sequencer/intern/prefetch.c b/source/blender/sequencer/intern/prefetch.c
index 013abb716d4..65b2b6c02cf 100644
--- a/source/blender/sequencer/intern/prefetch.c
+++ b/source/blender/sequencer/intern/prefetch.c
@@ -319,6 +319,7 @@ static void seq_prefetch_update_scene(Scene *scene)
     return;
   }
 
+  pfjob->scene = scene;
   seq_prefetch_free_depsgraph(pfjob);
   seq_prefetch_init_depsgraph(pfjob);
 }
@@ -499,15 +500,14 @@ static PrefetchJob *seq_prefetch_start(const SeqRenderData *context, float cfra)
       BLI_mutex_init(&pfjob->prefetch_suspend_mutex);
       BLI_condition_init(&pfjob->prefetch_suspend_cond);
 
-      pfjob->bmain = context->bmain;
       pfjob->bmain_eval = BKE_main_new();
-
       pfjob->scene = context->scene;
       seq_prefetch_init_depsgraph(pfjob);
     }
   }
   seq_prefetch_update_scene(context->scene);
   seq_prefetch_update_context(context);
+  pfjob->bmain = context->bmain;
 
   pfjob->cfra = cfra;
   pfjob->num_frames_prefetched = 1;



More information about the Bf-blender-cvs mailing list