WM: Repeat Last no longer reuses skip-save properties

PROP_SKIP_SAVE is often used as a way to detect the difference between
adjusting options from the redo panel and initial execution.

Repeat last operator was executing with skip-save properties set,
preventing operators from initializing them based on the context.

Fixes 60777.
This commit is contained in:
2019-01-24 12:06:47 +11:00
parent 7f77961f1c
commit 1d908bffdd
3 changed files with 54 additions and 5 deletions

View File

@@ -321,6 +321,8 @@ bool WM_operator_poll_context(struct bContext *C, struct wmOperatorType *
int WM_operator_call_ex(struct bContext *C, struct wmOperator *op, const bool store);
int WM_operator_call (struct bContext *C, struct wmOperator *op);
int WM_operator_call_notest(struct bContext *C, struct wmOperator *op);
int WM_operator_repeat_interactive(struct bContext *C, struct wmOperator *op);
int WM_operator_repeat (struct bContext *C, struct wmOperator *op);
bool WM_operator_repeat_check(const struct bContext *C, struct wmOperator *op);
bool WM_operator_is_repeat(const struct bContext *C, const struct wmOperator *op);
@@ -345,6 +347,7 @@ void WM_operator_last_properties_ensure(struct wmOperatorType *ot, struct
wmOperator *WM_operator_last_redo(const struct bContext *C);
ID *WM_operator_drop_load_path(struct bContext *C, struct wmOperator *op, const short idcode);
bool WM_operator_last_properties_init_ex(struct wmOperator *op, struct IDProperty *last_properties);
bool WM_operator_last_properties_init(struct wmOperator *op);
bool WM_operator_last_properties_store(struct wmOperator *op);