Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-06-18 15:46:56 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-06-18 16:20:06 +0300
commitfec97ec94939ab32b43e3221e4c611e1e873a563 (patch)
tree35a3ae12ba6d46fc46c02f6583387691abdc9620 /source/blender/blenkernel/intern/layer.c
parent7c836ac30a9645f04fdfd0fe1be77e8f63c4141d (diff)
Objects: when active object gets hidden, make it inactive.
Diffstat (limited to 'source/blender/blenkernel/intern/layer.c')
-rw-r--r--source/blender/blenkernel/intern/layer.c11
1 files changed, 10 insertions, 1 deletions
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(