diff options
author | Bastien Montagne <bastien@blender.org> | 2020-05-18 16:47:03 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2020-05-18 16:47:03 +0300 |
commit | 121b2c0424465800ba79c0c7a4403cc2999b261b (patch) | |
tree | 33850f518c4a60c0738ec10723dfc7f15037f1c1 /source/blender/editors/space_outliner/outliner_edit.c | |
parent | b487ef61161b6249255be43314a0e1cfa4c9f0ee (diff) |
Fix T76799: Crash from undoing the copy-pasting of multiple data blocks.
Bug was actually in outliner code, paste operator would not generate any
undo step...
This was not correct ever, but with new undo code this has become a
critical issue, it cannot survive a situation where current main data
has been changed without a proper undo push.
This illustrates again how much of a catastrophic mess the 'tools'
callbacks of the outliner are currently, it has already caused us quiet
some pain in the past, and will keep doing so until this is fully
sanitized am afraid.
Would strongly suggest getting rid of thosw nasty mix of custom
callbacks requiring manual undo pushes, I do not see the added value of
this compared to regular menus calling regular operators. It only adds
confusion and extra code for nothing...
Diffstat (limited to 'source/blender/editors/space_outliner/outliner_edit.c')
-rw-r--r-- | source/blender/editors/space_outliner/outliner_edit.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/editors/space_outliner/outliner_edit.c b/source/blender/editors/space_outliner/outliner_edit.c index 181be13f959..26d356a290d 100644 --- a/source/blender/editors/space_outliner/outliner_edit.c +++ b/source/blender/editors/space_outliner/outliner_edit.c @@ -835,7 +835,8 @@ void OUTLINER_OT_id_paste(wmOperatorType *ot) ot->exec = outliner_id_paste_exec; ot->poll = ED_operator_outliner_active; - ot->flag = 0; + /* flags */ + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; } /* Library relocate/reload --------------------------------------------------- */ |