Hello
I'm working to a project since a long time, I did recently shifted from 4.6
to Apache Flex 10.
I got this issue and it seems to happen in a non deterministic fashion.
I can trigger it in several different ways, the 2 last calls only are the
same every time (System Manager:2130 and SystemManager:1753). It's like
something gets broken and then the next time I use the PopUpManager, it
crashes.
I'm starting to believe this is a bug inside Apache Flex, it's been weeks
this bug is around, it's very hard to reproduce and I have no step-to.
RangeError: Error #2006: The supplied index is out of bounds.
at flash.display::DisplayObjectContainer/addChildAt()
at
mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::rawChildren_addChildAt()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:2130]
at
mx.managers::SystemManager/addChildAt()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:1753]
at
mx.managers::SystemManager/addChild()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:1736]
at
mx.managers::PopUpManagerImpl/addPopUp()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\PopUpManagerImpl.as:344]
at
mx.managers::PopUpManager$/addPopUp()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\PopUpManager.as:193]
at
mx.controls::Menu/show()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\Menu.as:1648]
at
outgame.components::IAccount/openMenu()[D:\Faeria\FaeriaClient\src\outgame\components\IAccount.as:156]
at
outgame.components::IAccount/toggleMenu()[D:\Faeria\FaeriaClient\src\outgame\components\IAccount.as:118]
This is the code that produced that error stack:
private function openMenu():void {
if(_isMenuOpened)
return;
APPLICATION.youContainer.height = CONTAINER_HEIGHT_OPENED;
APPLICATION.opponentContainer.height = CONTAINER_HEIGHT_OPENED;
// rebuilding menuData
_menuData.removeAll();
if (_account != DATA_TABLE.you[0]) {
if (!_account.hasPrivateChatWithYou)
addMenuAction(resource_manager.getString("ui",
"icard.startChat"), null,
FrontController.startPrivateChat, _account, false);
if (!APPLICATION.opponentContainer.contains(this)) {
addMenuAction(resource_manager.getString("ui",
"icard.gameInvite"), null, FRONT_CONTROLLER.gameInvite, this.data);
addMenuAction(resource_manager.getString("ui",
"icard.tradeInvite"), null, FRONT_CONTROLLER.tradeInvite, this.data);
}
} else {
if (APPLICATION.youContainer.contains(this))
addMenuAction(resource_manager.getString("ui",
"icard.signOut"), null, FRONT_CONTROLLER.closeConnection, null);
if (GAME != null)
addMenuAction(resource_manager.getString("ui",
"icard.surrender"), null, GameComponent.surrender);
}
if (!APPLICATION.bottomBar.isAccountProfileOpened(Account(data)))
addMenuAction(resource_manager.getString("ui",
"icard.viewProfile"), null, FrontController.openProfileWindow, this.data);
// displaying
_menu.width = width;
_menu.show(0, MENU_OFFSET_Y);
menuContainer.addElement(_menu);
_isMenuOpened = true;
}
And the _menu is created in a init() function, called only once, during the
component's creationComplete.
_menu = Menu.createMenu(menuContainer, _menuData, false);
I'm extremely interested by clues regarding this issue. I'm running a stress
test for Faƫria: Strategy Card Game, the game uses this code. It's a
client/server architecture (AS3/Java), http://faeria.net.
Cheers
Jiem
--
View this message in context:
http://apache-flex-users.2333346.n4.nabble.com/SystemManager-seems-to-call-addChildAt-out-of-bounds-tp2701.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.