From e278b38b921d625a11544203808575a7180f75e8 Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Fri, 22 Feb 2019 11:13:36 -0300 Subject: 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 --- source/blender/blenkernel/intern/layer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '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; -- cgit v1.2.3