package { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.ui.ContextMenu; import flash.ui.ContextMenuItem; public class contextmenucrash extends Sprite { public function contextmenucrash() { this.addEventListener(Event.ENTER_FRAME, enterFrameHandler); } private function enterFrameHandler(event:Event):void { // create a new ContextMenu every frame // (not a real life situation but the fastest way to demonstrate the crashing) create_new_contextmenu(); } private function create_new_contextmenu():void { var cm:ContextMenu = new ContextMenu(); cm.hideBuiltInItems(); cm.addEventListener(ContextMenuEvent.MENU_SELECT, contextMenu_menuSelect); this.contextMenu = cm; } private function contextMenu_menuSelect(event:ContextMenuEvent):void { // build a custom contextmenu var customItems:Array = new Array(); var item:ContextMenuItem = new ContextMenuItem("crash now"); customItems.push(item); this.contextMenu.customItems = customItems; } } }