From 4b25801f640ee49f49c63d4de6871504236ce6b7 Mon Sep 17 00:00:00 2001
From: Campbell Barton <ideasman42@gmail.com>
Date: Fri, 5 Aug 2022 15:07:16 +1000
Subject: [PATCH] Fix T99496: Magic UV error in menu search

---
 magic_uv/common.py                  | 7 +++++--
 magic_uv/op/copy_paste_uv_object.py | 9 +++++----
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/magic_uv/common.py b/magic_uv/common.py
index fccce1c45..f76fcc677 100644
--- a/magic_uv/common.py
+++ b/magic_uv/common.py
@@ -1242,11 +1242,14 @@ def __is_points_in_polygon(points, subject_points):
 
 def get_uv_editable_objects(context):
     if compat.check_version(2, 80, 0) < 0:
-        objs = [context.active_object]
+        objs = []
     else:
         objs = [o for o in bpy.data.objects
                 if compat.get_object_select(o) and o.type == 'MESH']
-        objs.append(context.active_object)
+
+    ob = context.active_object
+    if ob is not None:
+        objs.append(ob)
 
     objs = list(set(objs))
     return objs
diff --git a/magic_uv/op/copy_paste_uv_object.py b/magic_uv/op/copy_paste_uv_object.py
index 39795b52e..897891e4b 100644
--- a/magic_uv/op/copy_paste_uv_object.py
+++ b/magic_uv/op/copy_paste_uv_object.py
@@ -30,15 +30,16 @@ def _is_valid_context(context):
     if not common.is_valid_space(context, ['VIEW_3D']):
         return False
 
+    # Only object mode is allowed to execute.
+    ob = context.object
+    if ob is not None and ob.mode != 'OBJECT':
+        return False
+
     # Multiple objects editing mode is not supported in this feature.
     objs = common.get_uv_editable_objects(context)
     if len(objs) != 1:
         return False
 
-    # only object mode is allowed to execute
-    if context.object.mode != 'OBJECT':
-        return False
-
     return True
 
 
-- 
GitLab