[Bf-blender-cvs] [f80f600b8e3] master: Sculpt: Fix T100379: Anchored brush tags all nodes for update

Joseph Eagar noreply at git.blender.org
Tue Aug 16 02:15:00 CEST 2022


Commit: f80f600b8e326639ea37bda1b4b85c382f39e683
Author: Joseph Eagar
Date:   Mon Aug 15 17:13:45 2022 -0700
Branches: master
https://developer.blender.org/rBf80f600b8e326639ea37bda1b4b85c382f39e683

Sculpt: Fix T100379: Anchored brush tags all nodes for update

Node tagging needed to happen after the undo node's null check.

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

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

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

diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index 43193a98b26..1035fdfb57c 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -1406,16 +1406,13 @@ static void paint_mesh_restore_co_task_cb(void *__restrict userdata,
   switch (data->brush->sculpt_tool) {
     case SCULPT_TOOL_MASK:
       type = SCULPT_UNDO_MASK;
-      BKE_pbvh_node_mark_update_mask(data->nodes[n]);
       break;
     case SCULPT_TOOL_PAINT:
     case SCULPT_TOOL_SMEAR:
       type = SCULPT_UNDO_COLOR;
-      BKE_pbvh_node_mark_update_color(data->nodes[n]);
       break;
     default:
       type = SCULPT_UNDO_COORDS;
-      BKE_pbvh_node_mark_update(data->nodes[n]);
       break;
   }
 
@@ -1430,6 +1427,19 @@ static void paint_mesh_restore_co_task_cb(void *__restrict userdata,
     return;
   }
 
+  switch (type) {
+    case SCULPT_UNDO_MASK:
+      BKE_pbvh_node_mark_update_mask(data->nodes[n]);
+      break;
+    case SCULPT_UNDO_COLOR:
+      BKE_pbvh_node_mark_update_color(data->nodes[n]);
+      break;
+    case SCULPT_UNDO_COORDS:
+      BKE_pbvh_node_mark_update(data->nodes[n]);
+      break;
+    default:
+      break;
+  }
   PBVHVertexIter vd;
   SculptOrigVertData orig_data;



More information about the Bf-blender-cvs mailing list