[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