Danny Shevitz | 15 Jul 19:48

traits update broke my app

>

Howdy, 

I'm not sure how to proceed with this one. I updated to the latest
trunk version of /TUI. It has been a while (read months) since my last update. 
My app, which was working fine, is now broken. 

The breaking happens when drag and dropping an object off my tool palette onto
a tree editor. I went into fbi and tried to figure out what's going on. I think
the issue may be related to the handling of trait list events. IIUC, when you
have TraitListEvents, the calling signature could be
@on_trait_change('sub_contexts')
def prototype(self, object, name, old, new) 

except old never had value if new was a TraitListEvent. This seems to be 
causing problems now, although I don't know why. Any ideas?

thanks,
D

The traceback is:

Exception occurred in traits notification handler.
Please check the log file for details.
Exception occurred in traits notification handler for object: <elm_objects.Exten
dableContext object at 0x02DEAB70>, trait: sub_contexts, old value: <undefined>,
 new value: <enthought.traits.trait_handlers.TraitListEvent object at 0x02F25DF0
>
Traceback (most recent call last):
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\trait_notifiers.p
y", line 580, in rebind_call_4
    object, trait_name, old, new )
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\trait_notifiers.p
y", line 418, in dispatch
    handler( *args )
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\traits_listener.p
y", line 511, in handle_list
    for obj in old:
TypeError: '_Undefined' object is not iterable
Exception occurred in traits notification handler for object: <elm_objects.Exten
dableContext object at 0x02DEAB70>, trait: sub_contexts, old value: <undefined>,
 new value: <enthought.traits.trait_handlers.TraitListEvent object at 0x02F25DF0
>
Traceback (most recent call last):
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\trait_notifiers.p
y", line 580, in rebind_call_4
    object, trait_name, old, new )
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\trait_notifiers.p
y", line 418, in dispatch
    handler( *args )
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\traits_listener.p
y", line 511, in handle_list
    for obj in old:
TypeError: '_Undefined' object is not iterable
Exception occurred in traits notification handler for object: <elm_objects.Exten
dableContext object at 0x02DEAB70>, trait: sub_contexts, old value: <undefined>,
 new value: <enthought.traits.trait_handlers.TraitListEvent object at 0x02F25DF0
>
Traceback (most recent call last):
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\trait_notifiers.p
y", line 580, in rebind_call_4
    object, trait_name, old, new )
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\trait_notifiers.p
y", line 418, in dispatch
    handler( *args )
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\traits_listener.p
y", line 511, in handle_list
    for obj in old:
TypeError: '_Undefined' object is not iterable
Exception occurred in traits notification handler for object: <elm_objects.Exten
dableContext object at 0x02DEAB70>, trait: sub_contexts, old value: <undefined>,
 new value: <enthought.traits.trait_handlers.TraitListEvent object at 0x02F25DF0
>
Traceback (most recent call last):
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\trait_notifiers.p
y", line 580, in rebind_call_4
    object, trait_name, old, new )
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\trait_notifiers.p
y", line 418, in dispatch
    handler( *args )
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\traits_listener.p
y", line 511, in handle_list
    for obj in old:
TypeError: '_Undefined' object is not iterable
Exception occurred in traits notification handler for object: <elm_objects.Exten
dableContext object at 0x02DEAB70>, trait: sub_contexts, old value: <undefined>,
 new value: <enthought.traits.trait_handlers.TraitListEvent object at 0x02F25DF0
>
Traceback (most recent call last):
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\trait_notifiers.p
y", line 580, in rebind_call_4
    object, trait_name, old, new )
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\trait_notifiers.p
y", line 418, in dispatch
    handler( *args )
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\traits_listener.p
y", line 511, in handle_list
    for obj in old:
TypeError: '_Undefined' object is not iterable
Exception occurred in traits notification handler for object: <elm_objects.Exten
dableContext object at 0x02DEAB70>, trait: sub_contexts, old value: <undefined>,
 new value: <enthought.traits.trait_handlers.TraitListEvent object at 0x02F25DF0
>
Traceback (most recent call last):
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\trait_notifiers.p
y", line 580, in rebind_call_4
    object, trait_name, old, new )
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\trait_notifiers.p
y", line 418, in dispatch
    handler( *args )
  File "d:\enthought\checkouts\traits_3.0.0b1\enthought\traits\traits_listener.p
y", line 511, in handle_list
    for obj in old:
TypeError: '_Undefined' object is not iterable

Gmane