[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