From da2b17e46cb937493454e3f47498cc76a0a51404 Mon Sep 17 00:00:00 2001
From: "Vladimir Spivak(cwolf3d)" <cwolf3d@gmail.com>
Date: Sun, 6 Sep 2020 20:32:00 +0300
Subject: [PATCH] Fix T80465: [Add Mesh: Extra Objects] Adding mesh in EditMode
 removes modifiers

---
 add_mesh_extra_objects/Wallfactory.py              | 1 +
 add_mesh_extra_objects/__init__.py                 | 2 +-
 add_mesh_extra_objects/add_mesh_beam_builder.py    | 1 +
 add_mesh_extra_objects/add_mesh_gears.py           | 2 ++
 add_mesh_extra_objects/add_mesh_gemstones.py       | 2 ++
 add_mesh_extra_objects/add_mesh_honeycomb.py       | 1 +
 add_mesh_extra_objects/add_mesh_pipe_joint.py      | 5 +++++
 add_mesh_extra_objects/add_mesh_pyramid.py         | 1 +
 add_mesh_extra_objects/add_mesh_round_brilliant.py | 1 +
 add_mesh_extra_objects/add_mesh_round_cube.py      | 1 +
 add_mesh_extra_objects/add_mesh_star.py            | 1 +
 add_mesh_extra_objects/add_mesh_supertoroid.py     | 1 +
 add_mesh_extra_objects/add_mesh_torusknot.py       | 1 +
 add_mesh_extra_objects/add_mesh_twisted_torus.py   | 1 +
 14 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/add_mesh_extra_objects/Wallfactory.py b/add_mesh_extra_objects/Wallfactory.py
index ede91fc3f..4b15b62ac 100644
--- a/add_mesh_extra_objects/Wallfactory.py
+++ b/add_mesh_extra_objects/Wallfactory.py
@@ -917,6 +917,7 @@ class add_mesh_wallb(Operator, object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
diff --git a/add_mesh_extra_objects/__init__.py b/add_mesh_extra_objects/__init__.py
index 14bde07d3..fa7918efd 100644
--- a/add_mesh_extra_objects/__init__.py
+++ b/add_mesh_extra_objects/__init__.py
@@ -26,7 +26,7 @@
 bl_info = {
     "name": "Extra Objects",
     "author": "Multiple Authors",
-    "version": (0, 3, 6),
+    "version": (0, 3, 7),
     "blender": (2, 80, 0),
     "location": "View3D > Add > Mesh",
     "description": "Add extra mesh object types",
diff --git a/add_mesh_extra_objects/add_mesh_beam_builder.py b/add_mesh_extra_objects/add_mesh_beam_builder.py
index 38944c589..5bb1bceb2 100644
--- a/add_mesh_extra_objects/add_mesh_beam_builder.py
+++ b/add_mesh_extra_objects/add_mesh_beam_builder.py
@@ -792,6 +792,7 @@ class addBeam(Operator, object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
diff --git a/add_mesh_extra_objects/add_mesh_gears.py b/add_mesh_extra_objects/add_mesh_gears.py
index 9170952a8..9655dea9f 100644
--- a/add_mesh_extra_objects/add_mesh_gears.py
+++ b/add_mesh_extra_objects/add_mesh_gears.py
@@ -737,6 +737,7 @@ class AddGear(Operator, object_utils.AddObjectHelper):
 
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
@@ -958,6 +959,7 @@ class AddWormGear(Operator, object_utils.AddObjectHelper):
 
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
diff --git a/add_mesh_extra_objects/add_mesh_gemstones.py b/add_mesh_extra_objects/add_mesh_gemstones.py
index c47e4131d..fe31675df 100644
--- a/add_mesh_extra_objects/add_mesh_gemstones.py
+++ b/add_mesh_extra_objects/add_mesh_gemstones.py
@@ -332,6 +332,7 @@ class AddDiamond(Operator, object_utils.AddObjectHelper):
 
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
@@ -480,6 +481,7 @@ class AddGem(Operator, object_utils.AddObjectHelper):
 
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
diff --git a/add_mesh_extra_objects/add_mesh_honeycomb.py b/add_mesh_extra_objects/add_mesh_honeycomb.py
index 73dea1d63..48a719401 100644
--- a/add_mesh_extra_objects/add_mesh_honeycomb.py
+++ b/add_mesh_extra_objects/add_mesh_honeycomb.py
@@ -314,6 +314,7 @@ class add_mesh_honeycomb(bpy.types.Operator, object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
diff --git a/add_mesh_extra_objects/add_mesh_pipe_joint.py b/add_mesh_extra_objects/add_mesh_pipe_joint.py
index 65876136f..984213315 100644
--- a/add_mesh_extra_objects/add_mesh_pipe_joint.py
+++ b/add_mesh_extra_objects/add_mesh_pipe_joint.py
@@ -259,6 +259,7 @@ class AddElbowJoint(Operator, object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
@@ -524,6 +525,7 @@ class AddTeeJoint(Operator, object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
@@ -806,6 +808,7 @@ class AddWyeJoint(Operator, object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
@@ -1152,6 +1155,7 @@ class AddCrossJoint(Operator, object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
@@ -1393,6 +1397,7 @@ class AddNJoint(Operator, object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
diff --git a/add_mesh_extra_objects/add_mesh_pyramid.py b/add_mesh_extra_objects/add_mesh_pyramid.py
index c70988b7d..405e6eaf1 100644
--- a/add_mesh_extra_objects/add_mesh_pyramid.py
+++ b/add_mesh_extra_objects/add_mesh_pyramid.py
@@ -194,6 +194,7 @@ class AddPyramid(bpy.types.Operator,  object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
diff --git a/add_mesh_extra_objects/add_mesh_round_brilliant.py b/add_mesh_extra_objects/add_mesh_round_brilliant.py
index bdd9b68c1..e50a1dbe5 100644
--- a/add_mesh_extra_objects/add_mesh_round_brilliant.py
+++ b/add_mesh_extra_objects/add_mesh_round_brilliant.py
@@ -465,6 +465,7 @@ class MESH_OT_primitive_brilliant_add(Operator, object_utils.AddObjectHelper):
                           )
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
diff --git a/add_mesh_extra_objects/add_mesh_round_cube.py b/add_mesh_extra_objects/add_mesh_round_cube.py
index 3c2619084..1190be936 100644
--- a/add_mesh_extra_objects/add_mesh_round_cube.py
+++ b/add_mesh_extra_objects/add_mesh_round_cube.py
@@ -441,6 +441,7 @@ class AddRoundCube(Operator, object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
diff --git a/add_mesh_extra_objects/add_mesh_star.py b/add_mesh_extra_objects/add_mesh_star.py
index 305738642..b5d515c6d 100644
--- a/add_mesh_extra_objects/add_mesh_star.py
+++ b/add_mesh_extra_objects/add_mesh_star.py
@@ -256,6 +256,7 @@ class AddStar(bpy.types.Operator, object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
diff --git a/add_mesh_extra_objects/add_mesh_supertoroid.py b/add_mesh_extra_objects/add_mesh_supertoroid.py
index af63ca2a6..fabc8147d 100644
--- a/add_mesh_extra_objects/add_mesh_supertoroid.py
+++ b/add_mesh_extra_objects/add_mesh_supertoroid.py
@@ -274,6 +274,7 @@ class add_supertoroid(bpy.types.Operator, object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
diff --git a/add_mesh_extra_objects/add_mesh_torusknot.py b/add_mesh_extra_objects/add_mesh_torusknot.py
index ac6662898..30957f7a6 100644
--- a/add_mesh_extra_objects/add_mesh_torusknot.py
+++ b/add_mesh_extra_objects/add_mesh_torusknot.py
@@ -177,6 +177,7 @@ class AddTorusKnot(bpy.types.Operator, object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
diff --git a/add_mesh_extra_objects/add_mesh_twisted_torus.py b/add_mesh_extra_objects/add_mesh_twisted_torus.py
index ba6b4fc14..0502a1895 100644
--- a/add_mesh_extra_objects/add_mesh_twisted_torus.py
+++ b/add_mesh_extra_objects/add_mesh_twisted_torus.py
@@ -287,6 +287,7 @@ class AddTwistedTorus(bpy.types.Operator, object_utils.AddObjectHelper):
             obj = object_utils.object_data_add(context, mesh, operator=self)
             obj.select_set(True)
             active_object.select_set(True)
+            bpy.context.view_layer.objects.active = active_object
             bpy.ops.object.join()
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
-- 
GitLab