diff --git a/traits/editor_factories.py b/traits/editor_factories.py index 32e1f3165..b4c57f2f4 100644 --- a/traits/editor_factories.py +++ b/traits/editor_factories.py @@ -148,12 +148,11 @@ def _instance_handler_factory(handler): if isinstance(handler, TraitInstance): return handler.aClass elif isinstance(handler, BaseInstance): - result = handler.default_value if handler.default_value_type == DefaultValue.callable_and_args: - default_value_getter, args, kwargs = result + default_value_getter, args, kwargs = handler.default_value return lambda: default_value_getter(*args, **kwargs) else: - return result + return handler.default_value else: msg = "handler should be TraitInstance or BaseInstance, but got {}" raise ValueError(msg.format(repr(handler)))