[Bf-blender-cvs] [9f2271d354b] blender-v2.92-release: Fix T84739: Crash with curve brush in sculpt mode.
Bastien Montagne
noreply at git.blender.org
Mon Jan 18 12:18:16 CET 2021
Commit: 9f2271d354b96f19f887c1b0e6f0a569073f2636
Author: Bastien Montagne
Date: Mon Jan 18 12:15:46 2021 +0100
Branches: blender-v2.92-release
https://developer.blender.org/rB9f2271d354b96f19f887c1b0e6f0a569073f2636
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...
===================================================================
M source/blender/editors/include/ED_paint.h
M source/blender/editors/sculpt_paint/paint_curve.c
M source/blender/editors/sculpt_paint/paint_curve_undo.c
===================================================================
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();
}
More information about the Bf-blender-cvs
mailing list