diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-02-04 10:26:57 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-02-04 10:41:04 +0300 |
commit | 0964ae5266541f09a1d54d8941393bada97d08a2 (patch) | |
tree | 7ccecb3f1a756562627985c91cb0795b065be8a9 /source/blender/editors/armature | |
parent | d09646a40b1928308025d8ceb2c2d505651fc9a4 (diff) |
Fix T73234: Undo/redo with local collection crashes
Resolves crashes when edit-mode undo data wasn't included
because it wasn't visible, also resolves T73416.
Diffstat (limited to 'source/blender/editors/armature')
-rw-r--r-- | source/blender/editors/armature/editarmature_undo.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/editors/armature/editarmature_undo.c b/source/blender/editors/armature/editarmature_undo.c index 4e3ab11a9f7..4753698ae40 100644 --- a/source/blender/editors/armature/editarmature_undo.c +++ b/source/blender/editors/armature/editarmature_undo.c @@ -108,7 +108,8 @@ static void undoarm_free_data(UndoArmature *uarm) static Object *editarm_object_from_context(bContext *C) { - Object *obedit = CTX_data_edit_object(C); + ViewLayer *view_layer = CTX_data_view_layer(C); + Object *obedit = OBEDIT_FROM_VIEW_LAYER(view_layer); if (obedit && obedit->type == OB_ARMATURE) { bArmature *arm = obedit->data; if (arm->edbo != NULL) { @@ -151,8 +152,7 @@ static bool armature_undosys_step_encode(struct bContext *C, struct Main *bmain, * outside of this list will be moved out of edit-mode when reading back undo steps. */ ViewLayer *view_layer = CTX_data_view_layer(C); uint objects_len = 0; - Object **objects = BKE_view_layer_array_from_objects_in_edit_mode_unique_data( - view_layer, NULL, &objects_len); + Object **objects = ED_undo_editmode_objects_from_view_layer(view_layer, &objects_len); us->elems = MEM_callocN(sizeof(*us->elems) * objects_len, __func__); us->elems_len = objects_len; |