[ https://issues.apache.org/jira/browse/FLEX-33592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13687916#comment-13687916 ]
Philip Mair commented on FLEX-33592: ------------------------------------ Here is a sample, every click on item > 1 will force the error {code:xml} <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" > <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.controls.menuClasses.MenuBarItem; [Bindable] private var dataProvider: ArrayCollection = buildDummyData( 5 ); protected function menubar1_clickHandler(event:MouseEvent):void { if(event.target is MenuBarItem) { var item:MenuBarItem = event.target as MenuBarItem; trace("item clicked"); dataProvider = buildDummyData(1); } } protected function buildDummyData( c: int ):ArrayCollection { var ac: ArrayCollection = new ArrayCollection(); for( var i: int = 0; i<c; i++ ) { ac.addItem( { 'label': 'ITEM_'+i } ); } return ac; } ]]> </fx:Script> <fx:Declarations> </fx:Declarations> <mx:VBox> <mx:MenuBar dataProvider="{dataProvider}" click="menubar1_clickHandler(event)" /> <s:Button label="reset" click="dataProvider = buildDummyData(5)" /> </mx:VBox> </s:Application> {code} {{ TypeError: Error #1009: Cannot access a property or method of a null object reference. at mx.controls::MenuBar/getMenuAt()[/Users/justinmclean/Documents/ApacheFlexSDK/frameworks/projects/mx/src/mx/controls/MenuBar.as:1751] at mx.controls::MenuBar/mouseOutHandler()[/Users/justinmclean/Documents/ApacheFlexSDK/frameworks/projects/mx/src/mx/controls/MenuBar.as:2091] }} > mx.controls.MenuBar#getMenuAt RangeError > ---------------------------------------- > > Key: FLEX-33592 > URL: https://issues.apache.org/jira/browse/FLEX-33592 > Project: Apache Flex > Issue Type: Bug > Components: mx: Menu Bar > Affects Versions: Apache Flex 4.9.0 > Reporter: Philip Mair > Original Estimate: 2h > Remaining Estimate: 2h > > When changing MenuBar dataProvider within click on MenuBar-Item causes a > RangeError in getMenuAt if the index was greater then new amount of MenuBar > Items. > I solved this with following workaround: > public override function getMenuAt(index:int):Menu > { > var menu:Menu = null; > > try > { > menu = super.getMenuAt(index); > } > catch(e: Error) > { > > } > if(menu == null) //return a fake menu to avoid > TypeError's > return new Menu(); > else > return menu; > } -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira