From 181205be601a7192ba4d936386c1a08e61e4d609 Mon Sep 17 00:00:00 2001
From: Campbell Barton <ideasman42@gmail.com>
Date: Wed, 22 Jun 2011 13:11:08 +0000
Subject: [PATCH] fix for errors adding landscape and bolt objects in editmode

---
 add_mesh_BoltFactory/createMesh.py |  5 +++--
 add_mesh_ant_landscape.py          | 10 +++++++---
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/add_mesh_BoltFactory/createMesh.py b/add_mesh_BoltFactory/createMesh.py
index 4cec092d5..1ff82229e 100644
--- a/add_mesh_BoltFactory/createMesh.py
+++ b/add_mesh_BoltFactory/createMesh.py
@@ -2094,8 +2094,9 @@ def create_mesh_object(context, verts, edges, faces, name, edit, align_matrix):
     # Update mesh geometry after adding stuff.
     mesh.update()
 
-    # Deselect all objects.
-    bpy.ops.object.select_all(action='DESELECT')
+    # Deselect all objects when in object mode
+    if bpy.ops.object.select_all.poll():
+        bpy.ops.object.select_all(action='DESELECT')
 
     if edit:
         # Replace geometry of existing object
diff --git a/add_mesh_ant_landscape.py b/add_mesh_ant_landscape.py
index d7ca08d04..19e680bb0 100644
--- a/add_mesh_ant_landscape.py
+++ b/add_mesh_ant_landscape.py
@@ -737,8 +737,9 @@ class landscape_add(bpy.types.Operator):
             undo = bpy.context.user_preferences.edit.use_global_undo
             bpy.context.user_preferences.edit.use_global_undo = False
 
-            # deselect all objects
-            bpy.ops.object.select_all(action='DESELECT')
+            # deselect all objects when in object mode
+            if bpy.ops.object.select_all.poll():
+                bpy.ops.object.select_all(action='DESELECT')
 
             # options
             options = [
@@ -787,7 +788,10 @@ class landscape_add(bpy.types.Operator):
 
             # Shade smooth
             if self.SmoothMesh !=0:
-                bpy.ops.object.shade_smooth()
+                if bpy.ops.object.shade_smooth.poll():
+                    bpy.ops.object.shade_smooth()
+                else: # edit mode
+                    bpy.ops.mesh.faces_shade_smooth()
 
             # restore pre operator undo state
             bpy.context.user_preferences.edit.use_global_undo = undo
-- 
GitLab