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:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-07-03 15:27:28 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-07-03 15:27:28 +0300
commit65b2cc2301afcb26cd0eaa1abf17f7e5bc7bd899 (patch)
tree1d1bcaf68ca131b8ef70b40f929245ed45b3f8ef /source/blender/depsgraph
parentbad5c379c6ceee0da726e0e262c403d7ade2040a (diff)
Fix T66370: add_relation Message in Console with certain shaders
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.cc11
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;