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:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-05-24 11:43:40 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-05-24 11:43:40 +0300
commitcd3f856eb82171ce7e532c9a38ede80d7cf954bf (patch)
tree17d0bdd9b250c8ca4d5f00c493998bfa721130fd /source/blender/depsgraph
parentd21b346f1c828f7e392f43b5751e1f5c5eb2e4c0 (diff)
Depsgraph: Fix render pipeline depsgraph pointing to freed data
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r--source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc8
1 files changed, 7 insertions, 1 deletions
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 {