diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-21 17:34:13 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-21 17:34:13 +0300 |
commit | 99ffd7b35d0ea74fd5079ebabb7ae5c6a10484a4 (patch) | |
tree | 67021ad430352eee5ba46af10816305074c989f6 /source | |
parent | 6ee7a02558e80e4fb9d787c0ee25c9077c6120f8 (diff) |
Depsgraph: Fix/workaround crash when toggling edit mode
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index ce16a986dff..e028a81d423 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -2086,6 +2086,17 @@ void DepsgraphRelationBuilder::build_copy_on_write_relations(IDDepsNode *id_node */ } GHASH_FOREACH_END(); + /* TODO(sergey): This solves crash for now, but causes too many + * updates potentially. + */ + if (GS(id_orig->name) == ID_OB) { + Object *object = (Object *)id_orig; + ID *object_data_id = (ID *)object->data; + OperationKey data_copy_on_write_key(object_data_id, + DEG_NODE_TYPE_COPY_ON_WRITE, + DEG_OPCODE_COPY_ON_WRITE); + add_relation(data_copy_on_write_key, copy_on_write_key, "Eval Order"); + } } } // namespace DEG |