diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-11-23 13:09:05 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-01-20 13:36:59 +0300 |
commit | 85ec0446e1985d45a31e9a5de66db759c749477e (patch) | |
tree | 8130dec648e6642de0fc38310dbaa3b4b20c03e0 | |
parent | 4a4959a647bf37bf7653ab506596eed0ca0857ec (diff) |
Depsgraph: Fix matrix_world driver source
Reported by Dalai in IRC, thanks!
-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; |