Fix T48388: Undo history sculpt mode not visible
This commit is contained in:
@@ -436,7 +436,8 @@ enum {
|
||||
UNDOSYSTEM_GLOBAL = 1,
|
||||
UNDOSYSTEM_EDITMODE = 2,
|
||||
UNDOSYSTEM_PARTICLE = 3,
|
||||
UNDOSYSTEM_IMAPAINT = 4
|
||||
UNDOSYSTEM_IMAPAINT = 4,
|
||||
UNDOSYSTEM_SCULPT = 5,
|
||||
};
|
||||
|
||||
static int get_undo_system(bContext *C)
|
||||
@@ -468,6 +469,10 @@ static int get_undo_system(bContext *C)
|
||||
if (!ED_undo_paint_empty(UNDO_PAINT_IMAGE))
|
||||
return UNDOSYSTEM_IMAPAINT;
|
||||
}
|
||||
else if (obact->mode & OB_MODE_SCULPT) {
|
||||
if (!ED_undo_paint_empty(UNDO_PAINT_MESH))
|
||||
return UNDOSYSTEM_SCULPT;
|
||||
}
|
||||
}
|
||||
if (U.uiflag & USER_GLOBALUNDO)
|
||||
return UNDOSYSTEM_GLOBAL;
|
||||
@@ -495,6 +500,9 @@ static EnumPropertyItem *rna_undo_itemf(bContext *C, int undosys, int *totitem)
|
||||
else if (undosys == UNDOSYSTEM_IMAPAINT) {
|
||||
name = ED_undo_paint_get_name(C, UNDO_PAINT_IMAGE, i, &active);
|
||||
}
|
||||
else if (undosys == UNDOSYSTEM_SCULPT) {
|
||||
name = ED_undo_paint_get_name(C, UNDO_PAINT_MESH, i, &active);
|
||||
}
|
||||
else {
|
||||
name = BKE_undo_get_name(i, &active);
|
||||
}
|
||||
@@ -576,6 +584,9 @@ static int undo_history_exec(bContext *C, wmOperator *op)
|
||||
else if (undosys == UNDOSYSTEM_IMAPAINT) {
|
||||
ED_undo_paint_step_num(C, UNDO_PAINT_IMAGE, item);
|
||||
}
|
||||
else if (undosys == UNDOSYSTEM_SCULPT) {
|
||||
ED_undo_paint_step_num(C, UNDO_PAINT_MESH, item);
|
||||
}
|
||||
else {
|
||||
ED_viewport_render_kill_jobs(CTX_wm_manager(C), CTX_data_main(C), true);
|
||||
BKE_undo_number(C, item);
|
||||
|
Reference in New Issue
Block a user