[Bf-blender-cvs] [d2f52dccd39] blender-v2.91-release: Fix T81929: Sculpt: Mask operators missing drawing update on meshes with shapekeys/modifiers

Philipp Oeser noreply at git.blender.org
Wed Oct 21 20:42:13 CEST 2020


Commit: d2f52dccd39ba6fb29c099e35f62559bb28548fa
Author: Philipp Oeser
Date:   Wed Oct 21 18:49:21 2020 +0200
Branches: blender-v2.91-release
https://developer.blender.org/rBd2f52dccd39ba6fb29c099e35f62559bb28548fa

Fix T81929: Sculpt: Mask operators missing drawing update on meshes with
shapekeys/modifiers

This was failing for all mask filters (sharpen, grow, invert, clear,
shrink, contrast, smooth) and mask gestures (box, lasso).
Also have to recalc shading, use SCULPT_tag_update_overlays for this.

ref D8956

Maniphest Tasks: T81929

Differential Revision: https://developer.blender.org/D9302

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

M	source/blender/editors/sculpt_paint/paint_mask.c
M	source/blender/editors/sculpt_paint/sculpt_filter_mask.c

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

diff --git a/source/blender/editors/sculpt_paint/paint_mask.c b/source/blender/editors/sculpt_paint/paint_mask.c
index 305347b46a7..2193a31f19b 100644
--- a/source/blender/editors/sculpt_paint/paint_mask.c
+++ b/source/blender/editors/sculpt_paint/paint_mask.c
@@ -657,8 +657,7 @@ static void sculpt_gesture_apply(bContext *C, SculptGestureContext *sgcontext)
 
   SCULPT_undo_push_end();
 
-  ED_region_tag_redraw(sgcontext->vc.region);
-  WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, sgcontext->vc.obact);
+  SCULPT_tag_update_overlays(C);
 }
 
 /* Face Set Gesture Operation. */
diff --git a/source/blender/editors/sculpt_paint/sculpt_filter_mask.c b/source/blender/editors/sculpt_paint/sculpt_filter_mask.c
index e764df78c88..8fa20aaae50 100644
--- a/source/blender/editors/sculpt_paint/sculpt_filter_mask.c
+++ b/source/blender/editors/sculpt_paint/sculpt_filter_mask.c
@@ -192,7 +192,6 @@ static void mask_filter_task_cb(void *__restrict userdata,
 
 static int sculpt_mask_filter_exec(bContext *C, wmOperator *op)
 {
-  ARegion *region = CTX_wm_region(C);
   Object *ob = CTX_data_active_object(C);
   SculptSession *ss = ob->sculpt;
   Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
@@ -259,8 +258,8 @@ static int sculpt_mask_filter_exec(bContext *C, wmOperator *op)
 
   SCULPT_undo_push_end();
 
-  ED_region_tag_redraw(region);
-  WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
+  SCULPT_tag_update_overlays(C);
+
   return OPERATOR_FINISHED;
 }



More information about the Bf-blender-cvs mailing list