This is an automated email from the ASF dual-hosted git repository. piotrz pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/develop by this push: new 1456bea114 MX ADG: Remove redundant event listener - it's already been registered in parent class 1456bea114 is described below commit 1456bea11428380b4e356dc85f7a003434f5fecb Author: Piotr Zarzycki <piotrzarzyck...@gmail.com> AuthorDate: Tue Apr 19 12:48:56 2022 +0200 MX ADG: Remove redundant event listener - it's already been registered in parent class - Remove "itemsCreated" which was redundant and caused Null Pointer Exceptions in some cases when HierarchicalData was used - Move reset cursor to separate function for reuse purposes --- .../royale/html/beads/VirtualDataContainerView.as | 2 -- ...actoryForICollectionViewAdvancedDataGridData.as | 34 ++++++++++++---------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualDataContainerView.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualDataContainerView.as index 85a58f1d61..12b89e78a5 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualDataContainerView.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualDataContainerView.as @@ -57,8 +57,6 @@ package org.apache.royale.html.beads { _strand = value; super.strand = value; - - host.addEventListener("beadsAdded", beadsAddedHandler); } /** diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as index eea390d130..da146c32bc 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as @@ -22,6 +22,8 @@ package mx.controls.advancedDataGridClasses import mx.collections.ICollectionView; import mx.collections.IViewCursor; + import org.apache.royale.core.IIndexedItemRenderer; + import org.apache.royale.core.IIndexedItemRendererInitializer; import org.apache.royale.core.IItemRendererOwnerView; import org.apache.royale.core.IStrandWithModelView; import org.apache.royale.events.Event; @@ -44,7 +46,10 @@ package mx.controls.advancedDataGridClasses */ public class DataItemRendererFactoryForICollectionViewAdvancedDataGridData extends VirtualDataItemRendererFactoryBase { - /** + private var cursor:IViewCursor; + private var currentIndex:int; + + /** * Constructor. * * @langversion 3.0 @@ -72,24 +77,12 @@ package mx.controls.advancedDataGridClasses if (!dp) return; - if (cursor) cursor.finalizeThis(); - cursor = dp.createCursor(); - currentIndex = (dp.length > 0) ? 0 : -1; - - // listen for individual items being added in the future. - //var dped:IEventDispatcher = dp as IEventDispatcher; - //dped.addEventListener(CollectionEvent.ITEM_ADDED, itemAddedHandler); - //dped.addEventListener(CollectionEvent.ITEM_REMOVED, itemRemovedHandler); - //dped.addEventListener(CollectionEvent.ITEM_UPDATED, itemUpdatedHandler); + resetCollectionCursor(); + currentIndex = -1; - sendStrandEvent(_strand, "itemsCreated"); super.dataProviderChangeHandler(event); } - private var cursor:IViewCursor; - private var currentIndex:int; - - /** * Get a item for a given index. * @@ -123,5 +116,16 @@ package mx.controls.advancedDataGridClasses currentIndex = index; return cursor.current; } + + private function resetCollectionCursor():void + { + if (cursor) + { + cursor.finalizeThis(); + } + + var dp:ICollectionView = dataProviderModel.dataProvider as ICollectionView; + cursor = dp.createCursor(); + } } }