diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-05-24 13:04:04 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-05-24 13:17:55 +0300 |
commit | c1361d2651222fb52839df038e92c18e1fdefc4e (patch) | |
tree | 886cd5800b50f99da8f363660e6fb294d884482e /source/blender/makesrna/intern/rna_access.c | |
parent | cb3c9cba49290bf12116033a7ea151cad352cf76 (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.c | 6 |
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 } |