[Bf-blender-cvs] [65b2cc2301a] master: Fix T66370: add_relation Message in Console with certain shaders

Sergey Sharybin noreply at git.blender.org
Wed Jul 3 14:27:53 CEST 2019


Commit: 65b2cc2301afcb26cd0eaa1abf17f7e5bc7bd899
Author: Sergey Sharybin
Date:   Wed Jul 3 14:27:28 2019 +0200
Branches: master
https://developer.blender.org/rB65b2cc2301afcb26cd0eaa1abf17f7e5bc7bd899

Fix T66370: add_relation Message in Console with certain shaders

===================================================================

M	source/blender/depsgraph/intern/builder/deg_builder_relations.cc

===================================================================

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;



More information about the Bf-blender-cvs mailing list