From d9b1c26bf0ef5ce7360b467916eaa1626b133952 Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Fri, 28 Oct 2022 16:50:11 +0200 Subject: [PATCH] Fix bug when prop_with_search is used with a prop that is not an enum --- src/blenderbim/blenderbim/bim/helper.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/helper.py b/src/blenderbim/blenderbim/bim/helper.py index 28ee216a26..1283b4579c 100644 --- a/src/blenderbim/blenderbim/bim/helper.py +++ b/src/blenderbim/blenderbim/bim/helper.py @@ -140,11 +140,14 @@ def prop_with_search(layout, data, prop_name, **kwargs): # kwargs are layout.prop arguments (text, icon, etc.) row = layout.row(align=True) row.prop(data, prop_name, **kwargs) - if len(get_enum_items(data, prop_name)) > 10: - # Magick courtesy of https://blender.stackexchange.com/a/203443/86891 - row.context_pointer_set(name="data", data=data) - op = row.operator("bim.enum_property_search", text="", icon="VIEWZOOM") - op.prop_name = prop_name + try: + if len(get_enum_items(data, prop_name)) > 10: + # Magick courtesy of https://blender.stackexchange.com/a/203443/86891 + row.context_pointer_set(name="data", data=data) + op = row.operator("bim.enum_property_search", text="", icon="VIEWZOOM") + op.prop_name = prop_name + except TypeError: # Prop is not iterable + pass def get_enum_items(data, prop_name, context=None):