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>2017-11-21 17:34:13 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-11-21 17:34:13 +0300
commit99ffd7b35d0ea74fd5079ebabb7ae5c6a10484a4 (patch)
tree67021ad430352eee5ba46af10816305074c989f6 /source/blender
parent6ee7a02558e80e4fb9d787c0ee25c9077c6120f8 (diff)
Depsgraph: Fix/workaround crash when toggling edit mode
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.cc11
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