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:
authorNathan Craddock <nzcraddock@gmail.com>2020-04-25 05:53:34 +0300
committerNathan Craddock <nzcraddock@gmail.com>2020-04-25 05:53:34 +0300
commit2b95f2439e8e5f34e0fb9642c2e44e6f43513e63 (patch)
tree17393fb78e48efdd79c808238b73fbb3648b83b4 /source/blender/depsgraph
parentc5f4d5e448e4508586087e7ec8edfb0a2b6c38ec (diff)
parent4ab85a338055b1d53a5a4c4e0cfc04c6300efcc3 (diff)
Merge branch 'blender-v2.83-release'
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r--source/blender/depsgraph/intern/depsgraph_query_iter.cc7
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;
}
}