Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorBastien Montagne <bastien@blender.org>2021-01-18 14:15:46 +0300
committerBastien Montagne <bastien@blender.org>2021-01-18 14:15:46 +0300
commit9f2271d354b96f19f887c1b0e6f0a569073f2636 (patch)
treee66b47ec31c988bc3b53bb7d47bf90f41e3864c4 /source
parentc85317e66940fd3c00fa840b1987e704015ebee2 (diff)
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...
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/include/ED_paint.h2
-rw-r--r--source/blender/editors/sculpt_paint/paint_curve.c10
-rw-r--r--source/blender/editors/sculpt_paint/paint_curve_undo.c4
3 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/editors/include/ED_paint.h b/source/blender/editors/include/ED_paint.h
index dec1f6844b2..6a28baa4ca1 100644
--- a/source/blender/editors/include/ED_paint.h
+++ b/source/blender/editors/include/ED_paint.h
@@ -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);
diff --git a/source/blender/editors/sculpt_paint/paint_curve.c b/source/blender/editors/sculpt_paint/paint_curve.c
index c63af64a87a..6d805adda42 100644
--- a/source/blender/editors/sculpt_paint/paint_curve.c
+++ b/source/blender/editors/sculpt_paint/paint_curve.c
@@ -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;
}
diff --git a/source/blender/editors/sculpt_paint/paint_curve_undo.c b/source/blender/editors/sculpt_paint/paint_curve_undo.c
index 0ffb392f826..a8e22f66734 100644
--- a/source/blender/editors/sculpt_paint/paint_curve_undo.c
+++ b/source/blender/editors/sculpt_paint/paint_curve_undo.c
@@ -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();
}