[Bf-blender-cvs] [e278b38b921] master: Fix T61788: Hidden objects reappear after rendering
Dalai Felinto
noreply at git.blender.org
Fri Feb 22 15:54:23 CET 2019
Commit: e278b38b921d625a11544203808575a7180f75e8
Author: Dalai Felinto
Date: Fri Feb 22 11:13:36 2019 -0300
Branches: master
https://developer.blender.org/rBe278b38b921d625a11544203808575a7180f75e8
Fix T61788: Hidden objects reappear after rendering
The change in outliner and viewport visibility (897e047374fa) was made
assuming the bases of the render and viewport depsgraph were
independent. Thus we were deliberately setting base visibility when
rendering:
```
/* When rendering, visibility is controlled by the enable/disable option. */
if (mode == DAG_EVAL_RENDER) {
base->flag |= BASE_VISIBLE;
}
```
However, we were syncing data back to the original depsgraph, leading to
hidden viewport objects to re-appear.
Reviewers: sergey
Differential Revision: https://developer.blender.org/D4391
===================================================================
M source/blender/blenkernel/intern/layer.c
===================================================================
diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index 7a75687ceb6..11bcbadecbe 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -1500,7 +1500,7 @@ void BKE_layer_eval_view_layer(
view_layer->object_bases_array[base_index++] = base;
}
/* Flush back base flag to the original view layer for editing. */
- if (view_layer == DEG_get_evaluated_view_layer(depsgraph)) {
+ if (DEG_is_active(depsgraph) && (view_layer == DEG_get_evaluated_view_layer(depsgraph))) {
ViewLayer *view_layer_orig = DEG_get_input_view_layer(depsgraph);
Base *base_orig = view_layer_orig->object_bases.first;
const Base *base_eval = view_layer->object_bases.first;
More information about the Bf-blender-cvs
mailing list