Fix T48388: Undo history sculpt mode not visible

This commit is contained in:
Campbell Barton
2016-05-10 02:42:14 +10:00
parent 9513bdcaea
commit d8cf14fa67

View File

@@ -436,7 +436,8 @@ enum {
UNDOSYSTEM_GLOBAL = 1, UNDOSYSTEM_GLOBAL = 1,
UNDOSYSTEM_EDITMODE = 2, UNDOSYSTEM_EDITMODE = 2,
UNDOSYSTEM_PARTICLE = 3, UNDOSYSTEM_PARTICLE = 3,
UNDOSYSTEM_IMAPAINT = 4 UNDOSYSTEM_IMAPAINT = 4,
UNDOSYSTEM_SCULPT = 5,
}; };
static int get_undo_system(bContext *C) 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)) if (!ED_undo_paint_empty(UNDO_PAINT_IMAGE))
return UNDOSYSTEM_IMAPAINT; 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) if (U.uiflag & USER_GLOBALUNDO)
return UNDOSYSTEM_GLOBAL; return UNDOSYSTEM_GLOBAL;
@@ -495,6 +500,9 @@ static EnumPropertyItem *rna_undo_itemf(bContext *C, int undosys, int *totitem)
else if (undosys == UNDOSYSTEM_IMAPAINT) { else if (undosys == UNDOSYSTEM_IMAPAINT) {
name = ED_undo_paint_get_name(C, UNDO_PAINT_IMAGE, i, &active); 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 { else {
name = BKE_undo_get_name(i, &active); 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) { else if (undosys == UNDOSYSTEM_IMAPAINT) {
ED_undo_paint_step_num(C, UNDO_PAINT_IMAGE, item); 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 { else {
ED_viewport_render_kill_jobs(CTX_wm_manager(C), CTX_data_main(C), true); ED_viewport_render_kill_jobs(CTX_wm_manager(C), CTX_data_main(C), true);
BKE_undo_number(C, item); BKE_undo_number(C, item);