Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Won't Fix
-
Adobe Flex SDK Previous
-
None
-
None
-
Affected OS(s): All OS Platforms
Affected OS(s): All OS Platforms
Language Found: English
Description
Steps to reproduce:
1. Compile and run:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<s:List dragEnabled="true">
<s:dataProvider>
<s:ArrayCollection>
<fx:String>one</fx:String>
<fx:String>two</fx:String>
</s:ArrayCollection>
</s:dataProvider>
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer>
<fx:Script>
<![CDATA[
override public function set data(value:Object):void
]]
>
</fx:Script>
<s:SkinnableContainer>
<s:Label id="title" />
</s:SkinnableContainer>
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
</s:Application>
2. Try dragging an item in the List
Actual Results:
RTE:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at ReproInnerClass0/set data()[/Users/stshongr/Documents/workspace/Repro/src/Repro.mxml:21]
at spark.components::SkinnableDataContainer/updateRenderer()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\SkinnableDataContainer.as:592]
at spark.components.supportClasses::ListBase/updateRenderer()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\supportClasses\ListBase.as:961]
at spark.components.supportClasses::ListItemDragProxy/cloneItemRenderer()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\supportClasses\ListItemDragProxy.as:228]
at spark.components.supportClasses::ListItemDragProxy/createChildren()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\supportClasses\ListItemDragProxy.as:142]
at mx.core::UIComponent/initialize()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\UIComponent.as:7250]
at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::childAdded()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\UIComponent.as:7142]
at mx.core::UIComponent/addChild()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\UIComponent.as:6825]
at mx.managers::DragManagerImpl/doDrag()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\DragManagerImpl.as:289]
at mx.managers::DragManager$/doDrag()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\DragManager.as:303]
at spark.components::List/dragStartHandler()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\List.as:1347]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\UIComponent.as:12266]
at spark.components::List/mouseMoveHandler()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\List.as:1605]
Expected Results:
No RTE, should work the same way it does when the SkinnableContainer is replaced with a Group
Workaround (if any):
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<s:List dragEnabled="true">
<s:dataProvider>
<s:ArrayCollection>
<fx:String>one</fx:String>
<fx:String>two</fx:String>
</s:ArrayCollection>
</s:dataProvider>
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer creationComplete="setData()">
<fx:Script>
<![CDATA[
override public function set data(value:Object):void
private function setData():void
{ title.text = data as String; } ]]
>
</fx:Script>
<s:SkinnableContainer>
<s:Label id="title" />
</s:SkinnableContainer>
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
</s:Application>