From 2829c040f4886e5eb281bd9ce1a2bb747755330f Mon Sep 17 00:00:00 2001
From: Clemens Barth <barth@root-1.de>
Date: Thu, 13 Jan 2022 19:06:10 +0100
Subject: [PATCH] T94008, T94292 Check before, if the user is in the
 'EDIT_MESH' mode. If so, change to 'OBJECT' mode.

---
 io_mesh_atomic/pdb_gui.py | 5 +++--
 io_mesh_atomic/xyz_gui.py | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/io_mesh_atomic/pdb_gui.py b/io_mesh_atomic/pdb_gui.py
index f77e2ef4b..711053d74 100644
--- a/io_mesh_atomic/pdb_gui.py
+++ b/io_mesh_atomic/pdb_gui.py
@@ -203,8 +203,9 @@ class IMPORT_OT_pdb(Operator, ImportHelper):
 
 
     def execute(self, context):
-        # To be on the safe side, we switch to the 'OBJECT' mode.
-        bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
+        # Switch to 'OBJECT' mode when in 'EDIT' mode.
+        if bpy.context.mode == 'EDIT_MESH':
+            bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
 
         # This is in order to solve this strange 'relative path' thing.
         filepath_pdb = bpy.path.abspath(self.filepath)
diff --git a/io_mesh_atomic/xyz_gui.py b/io_mesh_atomic/xyz_gui.py
index 18df00634..e465c4c21 100644
--- a/io_mesh_atomic/xyz_gui.py
+++ b/io_mesh_atomic/xyz_gui.py
@@ -153,8 +153,9 @@ class IMPORT_OT_xyz(Operator, ImportHelper):
         col.prop(self, "images_per_key")
 
     def execute(self, context):
-        # To be on the safe side, we switch to the 'OBJECT' mode.
-        bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
+        # Switch to 'OBJECT' mode when in 'EDIT' mode.
+        if bpy.context.mode == 'EDIT_MESH':
+            bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
 
         del ALL_FRAMES[:]
         del ELEMENTS[:]
-- 
GitLab