[
https://issues.apache.org/jira/browse/FLEX-34084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13900832#comment-13900832
]
Justin Mclean commented on FLEX-34084:
--------------------------------------
The issue is likely that in 4.11 any RTE in an item renderer or header would
would be caught and not reported. Removing the try catch improved performance
and shows up any real issue in item renderers / item headers making development
easier. May have to rethink that change or at leafs provide a way to revery to
previous behaviour and silently catch all errors.
> Error with PopupButton/Menu in headerrenderer in DataGrid
> ---------------------------------------------------------
>
> Key: FLEX-34084
> URL: https://issues.apache.org/jira/browse/FLEX-34084
> Project: Apache Flex
> Issue Type: Bug
> Components: mx: DataGrid, mx: Menu, mx: PopUpButton
> Affects Versions: Apache Flex 4.11.0
> Environment: Web Browser
> Reporter: Mike Crank
> Assignee: Justin Mclean
> Fix For: Apache Flex 4.11.0
>
>
> TypeError: Error #1009: Cannot access a property or method of a null object
> reference.
> at
> mx.controls::Menu/updateDisplayList()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/mx/src/mx/controls/Menu.as:1401]
> at
> mx.controls.listClasses::ListBase/validateDisplayList()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:3968]
> at
> mx.managers::LayoutManager/validateClient()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/framework/src/mx/managers/LayoutManager.as:1041]
> at
> mx.core::UIComponent/validateNow()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/framework/src/mx/core/UIComponent.as:8340]
> at
> mx.controls::PopUpMenuButton/commitProperties()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/mx/src/mx/controls/PopUpMenuButton.as:682]
> at
> mx.core::UIComponent/validateProperties()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/framework/src/mx/core/UIComponent.as:8482]
> at
> mx.managers::LayoutManager/validateClient()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/framework/src/mx/managers/LayoutManager.as:965]
> at
> mx.controls::DataGrid/http://www.adobe.com/2006/flex/mx/internal::calculateHeaderHeight()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/mx/src/mx/controls/DataGrid.as:2225]
> at
> mx.controls.dataGridClasses::DataGridHeader/measure()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridHeader.as:209]
> at
> mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::measureSizes()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/framework/src/mx/core/UIComponent.as:8769]
> Here is the code of the headerrenderer. Works fine in Flex 4.6 SDK
> <?xml version="1.0" encoding="utf-8"?>
> <mx:HBox xmlns:fx="http://ns.adobe.com/mxml/2009"
> xmlns:s="library://ns.adobe.com/flex/spark"
> xmlns:mx="library://ns.adobe.com/flex/mx"
> xmlns:flash.filters="flash.filters.*"
> horizontalAlign="left" verticalAlign="middle"
> width="100%" height="100%" paddingLeft="4"
> horizontalScrollPolicy="off">
>
> <fx:Declarations>
> <mx:ArrayCollection id="ynAC">
> <fx:Object label="All" enabled="true" type="check"
> toggled="true" data="2"/>
> <fx:Object label="No" enabled="true" type="check"
> toggled="true" data="0"/>
> <fx:Object label="Yes" enabled="true" type="check"
> toggled="true" data="1"/>
> </mx:ArrayCollection>
>
> <fx:Array id="filterAR">
> <flash.filters:DropShadowFilter id="dropShadowFilter"
> alpha="0.9" angle="45" blurX="5" blurY="5" distance="4" color="0xababab"/>
> </fx:Array>
> </fx:Declarations>
>
> <fx:Script>
> <![CDATA[
> import mx.controls.Menu;
> import mx.events.MenuEvent;
> [Embed(source='assets/images/filter.png')]
> private var filterIcon:Class;
>
> private function setMenuBTN():void {
> for (var i:int = 0; i < ynAC.length; i++) {
>
> filterBTN.dataDescriptor.setToggled(ynAC.getItemAt(i), i == 0);
> }
> }
>
> private function initSortMenu():void {
> Menu(filterBTN.popUp).filters = filterAR;
> }
>
> private function userItemSelected(event:MenuEvent):void
> {
> for (var i:int = 0; i < ynAC.length; i++) {
>
> event.menu.dataDescriptor.setToggled(ynAC.getItemAt(i), i == event.index);
> }
>
>
> parentDocument.setPublishedObject(ynAC.getItemAt(event.index).data);
> }
> ]]>
> </fx:Script>
>
> <mx:PopUpMenuButton id="filterBTN" dataProvider="{ynAC}"
> icon="{filterIcon}" creationComplete="setMenuBTN(); initSortMenu()"
> itemClick="userItemSelected(event)" openAlways="true" labelField="label"
> width="40" height="26"/>
> <s:Label text="Published"/>
>
> </mx:HBox>
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)