diff options
author | Kévin Dietrich <kevin.dietrich@mailoo.org> | 2018-03-16 06:06:18 +0300 |
---|---|---|
committer | Kévin Dietrich <kevin.dietrich@mailoo.org> | 2018-03-16 06:06:34 +0300 |
commit | e5327afcb73f102db8a82ccefc29bbf9cc6fb60c (patch) | |
tree | cff6f4465e0e43224e4eaf967e5436b7258c464f /source/blender | |
parent | 07b07e53ea0831ffb0c2a3aff0a33b40aa935c5c (diff) |
Fix T54326: Import Alembic stuck in edit mode
Switch to object mode before doing the import.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/io/io_alembic.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/blender/editors/io/io_alembic.c b/source/blender/editors/io/io_alembic.c index ca4ab30a08d..08181af2ef3 100644 --- a/source/blender/editors/io/io_alembic.c +++ b/source/blender/editors/io/io_alembic.c @@ -59,6 +59,8 @@ #include "RNA_define.h" #include "RNA_enum_types.h" +#include "ED_object.h" + #include "UI_interface.h" #include "UI_resources.h" @@ -543,6 +545,22 @@ static int wm_alembic_import_exec(bContext *C, wmOperator *op) } } + /* Switch to object mode to avoid being stuck in other modes (T54326). */ + if (CTX_data_mode_enum(C) != CTX_MODE_OBJECT) { + Object *obedit = CTX_data_edit_object(C); + + if (obedit != NULL) { + ED_object_mode_toggle(C, obedit->mode); + } + else { + Object *ob = CTX_data_active_object(C); + + if (ob) { + ED_object_mode_toggle(C, ob->mode); + } + } + } + bool ok = ABC_import(C, filename, scale, is_sequence, set_frame_range, sequence_len, offset, validate_meshes, as_background_job); |