diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-07-03 15:27:28 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-07-03 15:27:28 +0300 |
commit | 65b2cc2301afcb26cd0eaa1abf17f7e5bc7bd899 (patch) | |
tree | 1d1bcaf68ca131b8ef70b40f929245ed45b3f8ef /source | |
parent | bad5c379c6ceee0da726e0e262c403d7ade2040a (diff) |
Fix T66370: add_relation Message in Console with certain shaders
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index 20ef6229a0e..c2216e068fc 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -200,6 +200,11 @@ static OperationCode bone_target_opcode(ID *target, return OperationCode::BONE_DONE; } +static bool object_have_geometry_component(const Object *object) +{ + return ELEM(object->type, OB_MESH, OB_CURVE, OB_FONT, OB_SURF, OB_MBALL, OB_LATTICE, OB_GPENCIL); +} + /* **** General purpose functions **** */ DepsgraphRelationBuilder::DepsgraphRelationBuilder(Main *bmain, @@ -2157,9 +2162,11 @@ void DepsgraphRelationBuilder::build_nodetree(bNodeTree *ntree) else if (id_type == ID_OB) { build_object(NULL, (Object *)id); ComponentKey object_transform_key(id, NodeType::TRANSFORM); - ComponentKey object_geometry_key(id, NodeType::GEOMETRY); add_relation(object_transform_key, shading_key, "Object Transform -> Node"); - add_relation(object_geometry_key, shading_key, "Object Geometry -> Node"); + if (object_have_geometry_component(reinterpret_cast<Object *>(id))) { + ComponentKey object_geometry_key(id, NodeType::GEOMETRY); + add_relation(object_geometry_key, shading_key, "Object Geometry -> Node"); + } } else if (id_type == ID_SCE) { Scene *node_scene = (Scene *)id; |