You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flex.apache.org by "Vadim Usoltsev (JIRA)" <ji...@apache.org> on 2014/05/29 19:33:02 UTC

[jira] [Created] (FLEX-34345) Spark DataGrid throws a Null Pointer Exception when data provider's item is being changed by item renderer.

Vadim Usoltsev created FLEX-34345:
-------------------------------------

             Summary: Spark DataGrid throws a Null Pointer Exception when data provider's item is being changed by item renderer.
                 Key: FLEX-34345
                 URL: https://issues.apache.org/jira/browse/FLEX-34345
             Project: Apache Flex
          Issue Type: Bug
          Components: Spark: DataGrid, Spark: Grid
    Affects Versions: Apache Flex 4.11.0, Adobe Flex SDK 4.5.1 (Release), Apache Flex 4.12.1
            Reporter: Vadim Usoltsev


Exception in GridViewLayout.as:1053 occurs when data item is being changed by item renderer. The code:

        for each (var renderer:IGridItemRenderer in visibleItemRenderers)            
        {
            var rowIndex:int = renderer.rowIndex; ....

is not null safe, because visibleItemRenderers vector can contain null items under some indices, made f.e. by code in GridViewLayout.as:1753 :

        const renderer:IGridItemRenderer = visibleItemRenderers[index];
        visibleItemRenderers[index] = null;

To  reproduce this, create DataGrid with data provider, that contain items with Date fields, and create an ItemRenderer for that column with DateField component, that can change the date in source data item. Error will be throwed when data item's field will be changed and PropertyChangeEvent will be dispatched.

I think simple check for "null" will fix this bug.



--
This message was sent by Atlassian JIRA
(v6.2#6252)