[Bf-blender-cvs] [cd3f856eb82] master: Depsgraph: Fix render pipeline depsgraph pointing to freed data

Sergey Sharybin noreply at git.blender.org
Fri May 24 11:00:13 CEST 2019


Commit: cd3f856eb82171ce7e532c9a38ede80d7cf954bf
Author: Sergey Sharybin
Date:   Fri May 24 10:43:40 2019 +0200
Branches: master
https://developer.blender.org/rBcd3f856eb82171ce7e532c9a38ede80d7cf954bf

Depsgraph: Fix render pipeline depsgraph pointing to freed data

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

M	source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc

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

diff --git a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
index 4b0d6d43f4f..bd569176c78 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
@@ -349,7 +349,13 @@ void scene_remove_unused_view_layers(const Depsgraph *depsgraph,
   else if (depsgraph->is_render_pipeline_depsgraph) {
     /* If the dependency graph is used for post-processing (such as compositor) we do need to
      * have access to its view layer names so can not remove any view layers.
-     * On a more positive side we can remove all the bases from all the view layers. */
+     * On a more positive side we can remove all the bases from all the view layers.
+     *
+     * NOTE: Need to clear pointers which might be pointing to original on freed (due to being
+     * unused) data. */
+    LISTBASE_FOREACH (ViewLayer *, view_layer, &scene_cow->view_layers) {
+      view_layer->basact = NULL;
+    }
     return;
   }
   else {



More information about the Bf-blender-cvs mailing list