Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <bastien@blender.org>2020-05-18 16:47:03 +0300
committerBastien Montagne <bastien@blender.org>2020-05-18 16:47:03 +0300
commit121b2c0424465800ba79c0c7a4403cc2999b261b (patch)
tree33850f518c4a60c0738ec10723dfc7f15037f1c1 /source/blender/editors/space_outliner/outliner_edit.c
parentb487ef61161b6249255be43314a0e1cfa4c9f0ee (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.c3
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 --------------------------------------------------- */