diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-05-15 11:02:01 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-05-15 11:10:48 +0300 |
commit | 9636cab0098f96b9c6b6493fb7120f32d7506cd6 (patch) | |
tree | 2d2e85d94c1d6d650dd535321473d016d9b92799 /source/blender/editors/space_outliner | |
parent | ae8225ba6d6d704110296023630e5b86befeb326 (diff) |
Undo System: remove nested edit-mode undo calls
Regression in recent undo system changes,
This caused T55048.
When each mode had its own undo stack it was important
to initialize it when entering edit-mode.
Diffstat (limited to 'source/blender/editors/space_outliner')
-rw-r--r-- | source/blender/editors/space_outliner/outliner_select.c | 4 | ||||
-rw-r--r-- | source/blender/editors/space_outliner/outliner_tools.c | 7 |
2 files changed, 6 insertions, 5 deletions
diff --git a/source/blender/editors/space_outliner/outliner_select.c b/source/blender/editors/space_outliner/outliner_select.c index 0b8724b4e28..760673e5a5f 100644 --- a/source/blender/editors/space_outliner/outliner_select.c +++ b/source/blender/editors/space_outliner/outliner_select.c @@ -241,7 +241,7 @@ static eOLDrawState tree_element_set_active_object( } if (ob != scene->obedit) - ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR | EM_DO_UNDO); + ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR); return OL_DRAWSEL_NORMAL; } @@ -715,7 +715,7 @@ static eOLDrawState tree_element_active_pose( if (set != OL_SETSEL_NONE) { if (scene->obedit) { - ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR | EM_DO_UNDO); + ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR); } if (ob->mode & OB_MODE_POSE) { diff --git a/source/blender/editors/space_outliner/outliner_tools.c b/source/blender/editors/space_outliner/outliner_tools.c index e8275d597a6..20e011d4c8f 100644 --- a/source/blender/editors/space_outliner/outliner_tools.c +++ b/source/blender/editors/space_outliner/outliner_tools.c @@ -417,8 +417,9 @@ static void object_delete_cb( } // check also library later - if (scene->obedit == base->object) - ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR | EM_DO_UNDO); + if (scene->obedit == base->object) { + ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR); + } ED_base_object_free_and_unlink(CTX_data_main(C), scene, base); /* leave for ED_outliner_id_unref to handle */ @@ -873,7 +874,7 @@ static void object_delete_hierarchy_cb( /* Check also library later. */ for (; obedit && (obedit != base->object); obedit = obedit->parent); if (obedit == base->object) { - ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR | EM_DO_UNDO); + ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR); } outline_delete_hierarchy(C, reports, scene, base); |