[Bf-blender-cvs] [e5327afcb73] master: Fix T54326: Import Alembic stuck in edit mode

Kévin Dietrich noreply at git.blender.org
Fri Mar 16 04:08:27 CET 2018


Commit: e5327afcb73f102db8a82ccefc29bbf9cc6fb60c
Author: Kévin Dietrich
Date:   Fri Mar 16 04:06:18 2018 +0100
Branches: master
https://developer.blender.org/rBe5327afcb73f102db8a82ccefc29bbf9cc6fb60c

Fix T54326: Import Alembic stuck in edit mode

Switch to object mode before doing the import.

===================================================================

M	source/blender/editors/io/io_alembic.c

===================================================================

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);



More information about the Bf-blender-cvs mailing list