Fix T84739: Crash with curve brush in sculpt mode.

No idea why we did not pass context to `ED_paintcurve_undo_push_end`, it
is easily availbale everywhere...
This commit is contained in:
Bastien Montagne 2021-01-18 12:15:46 +01:00
parent c85317e669
commit 9f2271d354
Notes: blender-bot 2023-02-14 12:01:57 +01:00
Referenced by issue #84739, Crash with curve brush in sculpt mode
3 changed files with 8 additions and 8 deletions

View File

@ -101,7 +101,7 @@ struct ListBase *ED_image_paint_tile_list_get(void);
/* paint_curve_undo.c */
void ED_paintcurve_undo_push_begin(const char *name);
void ED_paintcurve_undo_push_end(void);
void ED_paintcurve_undo_push_end(struct bContext *C);
void ED_paintcurve_undosys_type(struct UndoType *ut);

View File

@ -241,7 +241,7 @@ static void paintcurve_point_add(bContext *C, wmOperator *op, const int loc[2])
pcp[add_index].bez.h1 = HD_ALIGN;
}
ED_paintcurve_undo_push_end();
ED_paintcurve_undo_push_end(C);
WM_paint_cursor_tag_redraw(window, region);
}
@ -352,7 +352,7 @@ static int paintcurve_delete_point_exec(bContext *C, wmOperator *op)
#undef DELETE_TAG
ED_paintcurve_undo_push_end();
ED_paintcurve_undo_push_end(C);
WM_paint_cursor_tag_redraw(window, region);
@ -463,12 +463,12 @@ static bool paintcurve_point_select(
}
if (!pcp) {
ED_paintcurve_undo_push_end();
ED_paintcurve_undo_push_end(C);
return false;
}
}
ED_paintcurve_undo_push_end();
ED_paintcurve_undo_push_end(C);
WM_paint_cursor_tag_redraw(window, region);
@ -614,7 +614,7 @@ static int paintcurve_slide_modal(bContext *C, wmOperator *op, const wmEvent *ev
if (event->type == psd->event && event->val == KM_RELEASE) {
MEM_freeN(psd);
ED_paintcurve_undo_push_begin(op->type->name);
ED_paintcurve_undo_push_end();
ED_paintcurve_undo_push_end(C);
return OPERATOR_FINISHED;
}

View File

@ -177,10 +177,10 @@ void ED_paintcurve_undo_push_begin(const char *name)
BKE_undosys_step_push_init_with_type(ustack, C, name, BKE_UNDOSYS_TYPE_PAINTCURVE);
}
void ED_paintcurve_undo_push_end(void)
void ED_paintcurve_undo_push_end(bContext *C)
{
UndoStack *ustack = ED_undo_stack_get();
BKE_undosys_step_push(ustack, NULL, NULL);
BKE_undosys_step_push(ustack, C, NULL);
BKE_undosys_stack_limit_steps_and_memory_defaults(ustack);
WM_file_tag_modified();
}