Details
-
Bug
-
Status: Closed
-
Trivial
-
Resolution: Fixed
-
Apache Flex 4.13.0
-
Mac OS X 10.9; very likely to affect other operating systems as well
Description
Invoking removeAll() on an ArrayList dispatches a CollectionEvent with kind = CollectionEvent.RESET. According to the documentation of the items property of CollectionEvent,
When the kind is CollectionEventKind.REFRESH or CollectionEventKind.RESET, this array has zero length.
The event dispatched from the ArrayList contains a single null item instead, which contradicts the documentation.
The issue can easily be fixed by updating ArrayList#internalDispatchEvent() to treat RESET and REFRESH events specially so the items array of the event is never updated in these cases.