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:
authorDalai Felinto <dfelinto@gmail.com>2018-05-24 13:04:04 +0300
committerDalai Felinto <dfelinto@gmail.com>2018-05-24 13:17:55 +0300
commitc1361d2651222fb52839df038e92c18e1fdefc4e (patch)
tree886cd5800b50f99da8f363660e6fb294d884482e /source/blender/makesrna/intern/rna_access.c
parentcb3c9cba49290bf12116033a7ea151cad352cf76 (diff)
Depsgraph: tag depsgraph for copy-on-write flush when RNA changes
Fixes bug with changes to properties not being flushed to the COW data. It fixes T55144. This is the part of rBb4b745b72064 that is required although slow. Which was partially addressed but the rest of the commit, which in turn broke things. So for now let's get RNA to flush slow cow, and deal with the consequences.
Diffstat (limited to 'source/blender/makesrna/intern/rna_access.c')
-rw-r--r--source/blender/makesrna/intern/rna_access.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c
index a6a834465ff..4c27d3d2226 100644
--- a/source/blender/makesrna/intern/rna_access.c
+++ b/source/blender/makesrna/intern/rna_access.c
@@ -2075,6 +2075,12 @@ 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
}