diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-11-23 13:09:05 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-11-23 13:09:05 +0300 |
commit | f2b57c35327eda6399659f42c326b96b8af49d82 (patch) | |
tree | 6c97bc51d19499cec999ac6a8366055b52b16985 /source/blender/depsgraph | |
parent | a537e7b426b0d26c824e60b2efd6dba8ae0997bd (diff) |
Depsgraph: Fix matrix_world driver source
Reported by Dalai in IRC, thanks!
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r-- | source/blender/depsgraph/intern/depsgraph.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph.cc b/source/blender/depsgraph/intern/depsgraph.cc index 9a4a35a5a35..5604044e123 100644 --- a/source/blender/depsgraph/intern/depsgraph.cc +++ b/source/blender/depsgraph/intern/depsgraph.cc @@ -189,16 +189,23 @@ static bool pointer_to_component_node_criteria(const PointerRNA *ptr, /* Transforms props? */ if (prop) { const char *prop_identifier = RNA_property_identifier((PropertyRNA *)prop); - + /* TODO(sergey): How to optimize this? */ if (strstr(prop_identifier, "location") || strstr(prop_identifier, "rotation") || - strstr(prop_identifier, "scale")) + strstr(prop_identifier, "scale") || + strstr(prop_identifier, "matrix_")) { *type = DEPSNODE_TYPE_TRANSFORM; return true; } + else if (strstr(prop_identifier, "data")) { + /* We access object.data, most likely a geometry. + * Might be a bone tho.. + */ + *type = DEPSNODE_TYPE_GEOMETRY; + return true; + } } - // ... } else if (ptr->type == &RNA_ShapeKey) { Key *key = (Key *)ptr->id.data; |