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>2019-03-08 16:37:46 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-03-08 16:38:28 +0300
commit6752022310b34bc6dd244f33903b898ff428777c (patch)
treea0934ae622993dee5ae2e2a2a9848254a328942a /source/blender/depsgraph/intern/depsgraph_tag.cc
parenta749d7d8facdf8b49cef25ee6fd1a3ecea9b09b5 (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/depsgraph_tag.cc')
-rw-r--r--source/blender/depsgraph/intern/depsgraph_tag.cc8
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);
}