Fix T67127: Crash Missing DEG tag update mask layer
When ng mask layer operations (add, remove, move) the original mask was not tagged to be updated resulting in missing data on the copy. The Masking function assumes that the copy and the original is always structured the same. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D5283
This commit is contained in:
@@ -441,6 +441,7 @@ static int masklay_new_exec(bContext *C, wmOperator *op)
|
||||
mask->masklay_act = mask->masklay_tot - 1;
|
||||
|
||||
WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
|
||||
DEG_id_tag_update(&mask->id, ID_RECALC_COPY_ON_WRITE);
|
||||
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
@@ -474,6 +475,7 @@ static int masklay_remove_exec(bContext *C, wmOperator *UNUSED(op))
|
||||
BKE_mask_layer_remove(mask, masklay);
|
||||
|
||||
WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
|
||||
DEG_id_tag_update(&mask->id, ID_RECALC_COPY_ON_WRITE);
|
||||
}
|
||||
|
||||
return OPERATOR_FINISHED;
|
||||
@@ -2206,6 +2208,7 @@ static int mask_layer_move_exec(bContext *C, wmOperator *op)
|
||||
}
|
||||
|
||||
WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
|
||||
DEG_id_tag_update(&mask->id, ID_RECALC_COPY_ON_WRITE);
|
||||
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user