diff options
author | Joshua Leung <aligorith@gmail.com> | 2018-05-23 21:24:58 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2018-05-23 21:30:17 +0300 |
commit | 67598d39b413f9cb0d2c7979c4a08207dd44d806 (patch) | |
tree | cdc4ea750d2a3b8311d1a3cd29d95f2ce1c4a493 /source/blender | |
parent | 6955add502b273b24fa9ea44298cc7c396160e0f (diff) |
Revert "Depsgraph: refresh RNA that doesn't need a full rebuild"
This reverts commit b4b745b72064ee7d3d8b0245ac8e8358b7fd07a3.
This was causing a problem in 01_025_A.anim.blend from the Spring
production files, where selecting one of Autumn's bones would
result in character jumping back to the origin.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 6 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_ID.h | 4 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_access.c | 6 |
3 files changed, 2 insertions, 14 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index 900d9cfd1cf..9a1bd87f93d 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -2137,8 +2137,7 @@ void DepsgraphRelationBuilder::build_copy_on_write_relations(IDDepsNode *id_node */ OperationDepsNode *op_entry = comp_node->get_entry_operation(); if (op_entry != NULL) { - DepsRelation *rel = graph_->add_new_relation(op_cow, op_entry, "CoW Dependency"); - rel->flag |= DEPSREL_FLAG_NO_FLUSH; + graph_->add_new_relation(op_cow, op_entry, "CoW Dependency"); } /* All dangling operations should also be executed after copy-on-write. */ GHASH_FOREACH_BEGIN(OperationDepsNode *, op_node, comp_node->operations_map) @@ -2162,8 +2161,7 @@ void DepsgraphRelationBuilder::build_copy_on_write_relations(IDDepsNode *id_node } } if (!has_same_comp_dependency) { - DepsRelation *rel_sub = graph_->add_new_relation(op_cow, op_node, "CoW Dependency"); - rel_sub->flag |= DEPSREL_FLAG_NO_FLUSH; + graph_->add_new_relation(op_cow, op_node, "CoW Dependency"); } } } diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h index 4d59a7c9669..acf054a94d5 100644 --- a/source/blender/makesdna/DNA_ID.h +++ b/source/blender/makesdna/DNA_ID.h @@ -397,10 +397,6 @@ typedef enum ID_Type { ID_IS_STATIC_OVERRIDE((_id)) && \ (((ID *)(_id))->override_static->flag & STATICOVERRIDE_AUTO)) -/* No copy-on-write for these types. */ -#define ID_TYPE_IS_COW(_id_type) \ - (!ELEM(_id_type, ID_WM, ID_SCR, ID_SCRN, ID_IM, ID_MC, ID_LI)) - #ifdef GS # undef GS #endif diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index 4c27d3d2226..a6a834465ff 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -2075,12 +2075,6 @@ static void rna_property_update(bContext *C, Main *bmain, Scene *scene, PointerR /* we could add NULL check, for now don't */ WM_msg_publish_rna(mbus, ptr, prop); } - if (ptr->id.data != NULL) { - const short id_type = GS(((ID *)ptr->id.data)->name); - if (ID_TYPE_IS_COW(id_type)) { - DEG_id_tag_update(ptr->id.data, DEG_TAG_COPY_ON_WRITE); - } - } #endif } |