Fix T58819: Weight paint gradient crash

This commit is contained in:
Campbell Barton 2018-12-06 11:19:18 +11:00
parent ad2e68b826
commit f6c615a8c2
Notes: blender-bot 2023-02-14 09:21:21 +01:00
Referenced by issue #60619, Clicking away from colour picker wih hex value selected changes the colour
Referenced by issue #58819, Blender crashes when try to select different object from weight paint mode
1 changed files with 8 additions and 6 deletions

View File

@ -687,13 +687,15 @@ static int paint_weight_gradient_modal(bContext *C, wmOperator *op, const wmEven
if (ret & OPERATOR_CANCELLED) {
Object *ob = CTX_data_active_object(C);
Mesh *me = ob->data;
if (vert_cache->wpp.wpaint_prev) {
BKE_defvert_array_free_elems(me->dvert, me->totvert);
BKE_defvert_array_copy(me->dvert, vert_cache->wpp.wpaint_prev, me->totvert);
wpaint_prev_destroy(&vert_cache->wpp);
if (vert_cache != NULL) {
Mesh *me = ob->data;
if (vert_cache->wpp.wpaint_prev) {
BKE_defvert_array_free_elems(me->dvert, me->totvert);
BKE_defvert_array_copy(me->dvert, vert_cache->wpp.wpaint_prev, me->totvert);
wpaint_prev_destroy(&vert_cache->wpp);
}
MEM_freeN(vert_cache);
}
MEM_freeN(vert_cache);
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);