From 3f200baa2a3738bc967e410740df6c0d47735692 Mon Sep 17 00:00:00 2001 From: cw Date: Thu, 9 Mar 2023 13:48:18 +0800 Subject: [PATCH] fix error: 'InstanceFactoryChoice' object has no attribute 'object' --- traitsui/qt4/instance_editor.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/traitsui/qt4/instance_editor.py b/traitsui/qt4/instance_editor.py index 90897cdd3..789eb8795 100644 --- a/traitsui/qt4/instance_editor.py +++ b/traitsui/qt4/instance_editor.py @@ -33,7 +33,7 @@ from traitsui.ui_traits import AView from traitsui.helper import user_name_for from traitsui.handler import Handler -from traitsui.instance_choice import InstanceChoiceItem +from traitsui.instance_choice import InstanceChoice, InstanceChoiceItem from .editor import Editor from .drop_editor import _DropEventFilter from .constants import DropColor @@ -182,11 +182,12 @@ def _get_items(self): value = adapter(object=value) # rebuild_items when an item's name changes so it is reflected by # combobox. This change was added to fix enthought/traitsui#1641 - value.object.observe( - self.rebuild_items, - trait(value.name_trait, optional=True), - dispatch="ui", - ) + if isinstance(value, InstanceChoice): + value.object.observe( + self.rebuild_items, + trait(value.name_trait, optional=True), + dispatch="ui", + ) items.append(value) self._items = items