diff options
Diffstat (limited to 'source/blender/editors/util')
-rw-r--r-- | source/blender/editors/util/undo.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/editors/util/undo.c b/source/blender/editors/util/undo.c index 434f1e30188..733b45f560d 100644 --- a/source/blender/editors/util/undo.c +++ b/source/blender/editors/util/undo.c @@ -533,14 +533,20 @@ static int undo_history_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSE uiLayout *layout = uiPupMenuLayout(pup); uiLayout *split = uiLayoutSplit(layout, 0.0f, false); uiLayout *column = NULL; + const int col_size = 20 + totitem / 12; int i, c; + bool add_col = true; - for (c = 0, i = totitem - 1; i >= 0; i--, c++) { - if ( (c % 20) == 0) + for (c = 0, i = totitem; i--;) { + if (add_col && !(c % col_size)) { column = uiLayoutColumn(split, false); - if (item[i].identifier) + add_col = false; + } + if (item[i].identifier) { uiItemIntO(column, item[i].name, item[i].icon, op->type->idname, "item", item[i].value); - + ++c; + add_col = true; + } } MEM_freeN(item); |