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-08-28 13:43:13 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-08-28 13:49:36 +0300
commite20ed590371a40d1cef74e145634029dd4626e87 (patch)
tree866eb9f73c3b71acaf819946c693f3e9d40042d8
parent00230608936e4bf2143ac4caaff3fdcbe77bda3e (diff)
Fix T56530, T56523: collection visiblity toggling wrong after recent changes.
-rw-r--r--source/blender/depsgraph/intern/depsgraph_query_iter.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph_query_iter.cc b/source/blender/depsgraph/intern/depsgraph_query_iter.cc
index 3331389a1db..791e5edbfc6 100644
--- a/source/blender/depsgraph/intern/depsgraph_query_iter.cc
+++ b/source/blender/depsgraph/intern/depsgraph_query_iter.cc
@@ -163,6 +163,10 @@ void deg_iterator_objects_step(BLI_Iterator *iter, DEG::IDDepsNode *id_node)
/* Set it early in case we need to exit and we are running from within a loop. */
iter->skip = true;
+ if (!id_node->is_visible) {
+ return;
+ }
+
DEGObjectIterData *data = (DEGObjectIterData *)iter->data;
const ID_Type id_type = GS(id_node->id_orig->name);
@@ -298,7 +302,11 @@ static void DEG_iterator_ids_step(BLI_Iterator *iter, DEG::IDDepsNode *id_node,
{
ID *id_cow = id_node->id_cow;
- if (only_updated && !(id_cow->recalc & ID_RECALC_ALL)) {
+ if (!id_node->is_visible) {
+ iter->skip = true;
+ return;
+ }
+ else if (only_updated && !(id_cow->recalc & ID_RECALC_ALL)) {
bNodeTree *ntree = ntreeFromID(id_cow);
/* Nodetree is considered part of the datablock. */