diff --git a/source/glest_game/menu/menu_state_custom_game.cpp b/source/glest_game/menu/menu_state_custom_game.cpp index 5bef62268..0fea88974 100644 --- a/source/glest_game/menu/menu_state_custom_game.cpp +++ b/source/glest_game/menu/menu_state_custom_game.cpp @@ -533,12 +533,18 @@ void MenuStateCustomGame::update() //printf("switchSetupRequests[i]->getSelectedFactionName()=%s\n",switchSetupRequests[i]->getSelectedFactionName().c_str()); //printf("switchSetupRequests[i]->getToTeam()=%d\n",switchSetupRequests[i]->getToTeam()); - if(switchSetupRequests[i]->getSelectedFactionName()!=""){ - listBoxFactions[i].setSelectedItem(switchSetupRequests[i]->getSelectedFactionName()); + try { + if(switchSetupRequests[i]->getSelectedFactionName()!=""){ + listBoxFactions[i].setSelectedItem(switchSetupRequests[i]->getSelectedFactionName()); + } + if(switchSetupRequests[i]->getToTeam()!=-1) + listBoxTeams[i].setSelectedItemIndex(switchSetupRequests[i]->getToTeam()); + } + catch(const runtime_error &e) { + SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] caught exception error = [%s]\n",__FILE__,__FUNCTION__,__LINE__,e.what()); } - if(switchSetupRequests[i]->getToTeam()!=-1) - listBoxTeams[i].setSelectedItemIndex(switchSetupRequests[i]->getToTeam()); } + delete switchSetupRequests[i]; switchSetupRequests[i]=NULL; }