diff options
author | Nathan Craddock <nzcraddock@gmail.com> | 2020-04-25 05:53:34 +0300 |
---|---|---|
committer | Nathan Craddock <nzcraddock@gmail.com> | 2020-04-25 05:53:34 +0300 |
commit | 2b95f2439e8e5f34e0fb9642c2e44e6f43513e63 (patch) | |
tree | 17393fb78e48efdd79c808238b73fbb3648b83b4 /source/blender/depsgraph/intern | |
parent | c5f4d5e448e4508586087e7ec8edfb0a2b6c38ec (diff) | |
parent | 4ab85a338055b1d53a5a4c4e0cfc04c6300efcc3 (diff) |
Merge branch 'blender-v2.83-release'
Diffstat (limited to 'source/blender/depsgraph/intern')
-rw-r--r-- | source/blender/depsgraph/intern/depsgraph_query_iter.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph_query_iter.cc b/source/blender/depsgraph/intern/depsgraph_query_iter.cc index fadd0beb636..c4b53bd8176 100644 --- a/source/blender/depsgraph/intern/depsgraph_query_iter.cc +++ b/source/blender/depsgraph/intern/depsgraph_query_iter.cc @@ -103,7 +103,10 @@ static bool deg_object_hide_original(eEvaluationMode eval_mode, Object *ob, Dupl * by its parent. Ideally this should not be needed, but due to the wrong * dependency direction in the data design there is no way to keep the object * visible otherwise. The better solution eventually would be for objects - * to specify which object they instance, instead of through parenting. */ + * to specify which object they instance, instead of through parenting. + * + * This function should not be used for metaballs. They have custom visibility rules, as hiding + * the base metaball will also hide all the other balls in the group. */ if (eval_mode == DAG_EVAL_RENDER || dob) { const int hide_original_types = OB_DUPLIVERTS | OB_DUPLIFACES; @@ -215,7 +218,7 @@ void deg_iterator_objects_step(BLI_Iterator *iter, DEG::IDNode *id_node) if (data->flag & DEG_ITER_OBJECT_FLAG_VISIBLE) { ob_visibility = BKE_object_visibility(object, data->eval_mode); - if (deg_object_hide_original(data->eval_mode, object, nullptr)) { + if (object->type != OB_MBALL && deg_object_hide_original(data->eval_mode, object, nullptr)) { return; } } |