diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-05-24 11:43:40 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-05-24 11:43:40 +0300 |
commit | cd3f856eb82171ce7e532c9a38ede80d7cf954bf (patch) | |
tree | 17d0bdd9b250c8ca4d5f00c493998bfa721130fd /source/blender/depsgraph | |
parent | d21b346f1c828f7e392f43b5751e1f5c5eb2e4c0 (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.cc | 8 |
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 { |