diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2020-10-21 19:49:21 +0300 |
---|---|---|
committer | Philipp Oeser <info@graphics-engineer.com> | 2020-10-21 21:37:18 +0300 |
commit | d2f52dccd39ba6fb29c099e35f62559bb28548fa (patch) | |
tree | f3eec19ff1eecf6d807803631236e929062fd8ba | |
parent | 7ff6bfd1e0af67d2e583d12ce5aee5d2bf8ef96e (diff) |
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
-rw-r--r-- | source/blender/editors/sculpt_paint/paint_mask.c | 3 | ||||
-rw-r--r-- | source/blender/editors/sculpt_paint/sculpt_filter_mask.c | 5 |
2 files changed, 3 insertions, 5 deletions
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; } |