>This did not make sense to me.  ItemUpdated is called on objects that should 
>already exist in a dataprovider, no?  Can I get more details on the scenario?

When you call itemUpdated, you pass it an object:

     public function itemUpdated(item:Object, property:Object = null, 
                                 oldValue:Object = null, 
                                 newValue:Object = null):void
    {
        var event:PropertyChangeEvent =
            new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE);
        
        event.kind = PropertyChangeEventKind.UPDATE;
        event.source = item;
        event.property = property;
        event.oldValue = oldValue;
        event.newValue = newValue;
        
        itemUpdateHandler(event);        
    }    

Notice that the event is passed to the itemUpdateHandler, not dispatched. So, 
there is no target in the event, which is what is being looked for in the other 
method. Frankly, all of the propertyChange stuff and collectionChange stuff is 
a mess and inconsistent. I want to fix it all, but I am trying to make the 
narrowest number of changes until we have tests. The other method: 
itemUpdateHandler() is sometimes called this way, and sometimes called as the 
result of an actual event dispatch.

However, regardless of all of this, we are still calling a method which states 
that -1 is a valid return value, but casting it to an uinsigned integer. That 
is a problem in and of itself.

See the issue?
Mike

Reply via email to