[Bf-blender-cvs] [fec97ec9493] blender2.8: Objects: when active object gets hidden, make it inactive.

Brecht Van Lommel noreply at git.blender.org
Mon Jun 18 15:21:56 CEST 2018


Commit: fec97ec94939ab32b43e3221e4c611e1e873a563
Author: Brecht Van Lommel
Date:   Mon Jun 18 14:46:56 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBfec97ec94939ab32b43e3221e4c611e1e873a563

Objects: when active object gets hidden, make it inactive.

===================================================================

M	source/blender/blenkernel/intern/layer.c

===================================================================

diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index 0022ed9ae24..2b44a36a0d8 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -1270,9 +1270,10 @@ 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. */
+	ViewLayer *view_layer_orig = DEG_get_input_view_layer(depsgraph);
 	if (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;
 		while (base_orig != NULL) {
@@ -1281,6 +1282,14 @@ void BKE_layer_eval_view_layer(
 			base_eval = base_eval->next;
 		}
 	}
+
+	/* Hidden objects can't be active. */
+	if (view_layer->basact && !(view_layer->basact->flag & BASE_VISIBLED)) {
+		view_layer->basact = NULL;
+	}
+	if (view_layer_orig->basact && !(view_layer_orig->basact->flag & BASE_VISIBLED)) {
+		view_layer_orig->basact = NULL;
+	}
 }
 
 void BKE_layer_eval_view_layer_indexed(



More information about the Bf-blender-cvs mailing list