diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-03-08 16:37:46 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-03-08 16:38:28 +0300 |
commit | 6752022310b34bc6dd244f33903b898ff428777c (patch) | |
tree | a0934ae622993dee5ae2e2a2a9848254a328942a /source/blender/depsgraph/intern | |
parent | a749d7d8facdf8b49cef25ee6fd1a3ecea9b09b5 (diff) |
Fix T62327: Multires with Particles: Undo not working
Modifier stack was forced to be re-evaluated when it was not
supposed to. Should also improve sculpt performance.
Diffstat (limited to 'source/blender/depsgraph/intern')
-rw-r--r-- | source/blender/depsgraph/intern/depsgraph_tag.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph_tag.cc b/source/blender/depsgraph/intern/depsgraph_tag.cc index 493247e252f..f6887af63f2 100644 --- a/source/blender/depsgraph/intern/depsgraph_tag.cc +++ b/source/blender/depsgraph/intern/depsgraph_tag.cc @@ -622,8 +622,12 @@ void graph_id_tag_update(Main *bmain, /* Special case for nested node tree datablocks. */ id_tag_update_ntree_special(bmain, graph, id, flag, update_source); /* Direct update tags means that something outside of simulated/cached - * physics did change and that cache is to be invalidated. */ - if (update_source == DEG_UPDATE_SOURCE_USER_EDIT) { + * physics did change and that cache is to be invalidated. + * This is only needed if data changes. If it's just a drawing, we keep the + * point cache. */ + if (update_source == DEG_UPDATE_SOURCE_USER_EDIT && + flag != ID_RECALC_SHADING) + { graph_id_tag_update_single_flag( bmain, graph, id, id_node, ID_RECALC_POINT_CACHE, update_source); } |