[Bf-blender-cvs] [1494a22a900] master: Sculpt: Reset automask cache on non-color non-mask undo steps

Joseph Eagar noreply at git.blender.org
Thu Sep 29 11:34:04 CEST 2022


Commit: 1494a22a900a91483c91cdb259523e3ce063f9c3
Author: Joseph Eagar
Date:   Thu Sep 29 02:33:24 2022 -0700
Branches: master
https://developer.blender.org/rB1494a22a900a91483c91cdb259523e3ce063f9c3

Sculpt: Reset automask cache on non-color non-mask undo steps

===================================================================

M	source/blender/editors/sculpt_paint/sculpt_undo.c

===================================================================

diff --git a/source/blender/editors/sculpt_paint/sculpt_undo.c b/source/blender/editors/sculpt_paint/sculpt_undo.c
index 4d36ff4b623..04c60933c73 100644
--- a/source/blender/editors/sculpt_paint/sculpt_undo.c
+++ b/source/blender/editors/sculpt_paint/sculpt_undo.c
@@ -740,8 +740,13 @@ static void sculpt_undo_restore_list(bContext *C, Depsgraph *depsgraph, ListBase
   bool update = false, rebuild = false, update_mask = false, update_visibility = false;
   bool need_mask = false;
   bool need_refine_subdiv = false;
+  bool clear_automask_cache = false;
 
   for (unode = lb->first; unode; unode = unode->next) {
+    if (!ELEM(unode->type, SCULPT_UNDO_COLOR, SCULPT_UNDO_MASK)) {
+      clear_automask_cache = true;
+    }
+
     /* Restore pivot. */
     copy_v3_v3(ss->pivot_pos, unode->pivot_pos);
     copy_v3_v3(ss->pivot_rot, unode->pivot_rot);
@@ -755,6 +760,10 @@ static void sculpt_undo_restore_list(bContext *C, Depsgraph *depsgraph, ListBase
     }
   }
 
+  if (clear_automask_cache) {
+    ss->last_automasking_settings_hash = 0;
+  }
+
   DEG_id_tag_update(&ob->id, ID_RECALC_SHADING);
 
   if (lb->first) {



More information about the Bf-blender-cvs mailing list