diff options
author | Robert Guetzkow <rjg> | 2020-04-27 09:43:35 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-04-27 09:44:47 +0300 |
commit | bb1e794d5800b450b53161e9cd9a682c2d6816b1 (patch) | |
tree | 9950c9cd72dece7cd12029c3409245aa0bc1eda8 | |
parent | d0d16eb7d347d26c5e26b3503e4852a6265858d8 (diff) |
Fix T72476: Crash when drag & drop Color in the Image Editor
-rw-r--r-- | source/blender/editors/sculpt_paint/paint_image.c | 16 | ||||
-rw-r--r-- | source/blender/editors/sculpt_paint/paint_image_2d.c | 2 |
2 files changed, 9 insertions, 9 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c index 1a2b44a03b4..d913bc2e242 100644 --- a/source/blender/editors/sculpt_paint/paint_image.c +++ b/source/blender/editors/sculpt_paint/paint_image.c @@ -1305,20 +1305,20 @@ void ED_imapaint_bucket_fill(struct bContext *C, wmOperator *op, const int mouse[2]) { - wmWindowManager *wm = CTX_wm_manager(C); SpaceImage *sima = CTX_wm_space_image(C); - Image *ima = sima->image; - BKE_undosys_step_push_init_with_type(wm->undo_stack, C, op->type->name, BKE_UNDOSYS_TYPE_IMAGE); + if (sima && sima->image) { + Image *ima = sima->image; - ED_image_undo_push_begin(op->type->name, PAINT_MODE_TEXTURE_2D); + ED_image_undo_push_begin(op->type->name, PAINT_MODE_TEXTURE_2D); - float mouse_init[2] = {mouse[0], mouse[1]}; - paint_2d_bucket_fill(C, color, NULL, mouse_init, NULL, NULL); + float mouse_init[2] = {mouse[0], mouse[1]}; + paint_2d_bucket_fill(C, color, NULL, mouse_init, NULL, NULL); - BKE_undosys_step_push(wm->undo_stack, C, op->type->name); + ED_image_undo_push_end(); - DEG_id_tag_update(&ima->id, 0); + DEG_id_tag_update(&ima->id, 0); + } } static bool texture_paint_poll(bContext *C) diff --git a/source/blender/editors/sculpt_paint/paint_image_2d.c b/source/blender/editors/sculpt_paint/paint_image_2d.c index 3485941d3df..16ccfaf8286 100644 --- a/source/blender/editors/sculpt_paint/paint_image_2d.c +++ b/source/blender/editors/sculpt_paint/paint_image_2d.c @@ -1894,7 +1894,7 @@ void paint_2d_bucket_fill(const bContext *C, int x_px, y_px; uint color_b; float color_f[4]; - float strength = br ? BKE_brush_alpha_get(s->scene, br) : 1.0f; + float strength = (s && br) ? BKE_brush_alpha_get(s->scene, br) : 1.0f; bool do_float; |