diff --git a/source/glest_game/game/game.cpp b/source/glest_game/game/game.cpp index e3d7ecf4d..6e903a7e4 100644 --- a/source/glest_game/game/game.cpp +++ b/source/glest_game/game/game.cpp @@ -712,8 +712,7 @@ void Game::mouseDownLeft(int x, int y){ } } if(errorMessageBox.getEnabled() == true) { - int button= 1; - if(errorMessageBox.mouseClick(x, y, button)) { + if(errorMessageBox.mouseClick(x, y)) { SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); //close message box errorMessageBox.setEnabled(false); diff --git a/source/glest_game/network/client_interface.cpp b/source/glest_game/network/client_interface.cpp index 3333a15af..f9a099120 100755 --- a/source/glest_game/network/client_interface.cpp +++ b/source/glest_game/network/client_interface.cpp @@ -741,10 +741,12 @@ void ClientInterface::waitForMessage() int waitLoopCount = 0; while(getNextMessageType(true) == nmtInvalid) { if(isConnected() == false) { - //throw runtime_error("Disconnected"); - //sendTextMessage("Server has Disconnected.",-1); - DisplayErrorMessage("Server has Disconnected."); - quit= true; + if(quit == false) { + //throw runtime_error("Disconnected"); + //sendTextMessage("Server has Disconnected.",-1); + DisplayErrorMessage("Server has Disconnected."); + quit= true; + } close(); return; } diff --git a/source/glest_game/network/server_interface.cpp b/source/glest_game/network/server_interface.cpp index 8bc4ebf8f..cd5ba4d60 100644 --- a/source/glest_game/network/server_interface.cpp +++ b/source/glest_game/network/server_interface.cpp @@ -535,7 +535,8 @@ void ServerInterface::update() { connectionSlot->getChatTextList().empty() == false) { try { for(int chatIdx = 0; chatIdx < connectionSlot->getChatTextList().size(); chatIdx++) { - const ChatMsgInfo &msg = connectionSlot->getChatTextList()[chatIdx]; + ChatMsgInfo msg(connectionSlot->getChatTextList()[chatIdx]); + this->addChatInfo(msg); string newChatText = msg.chatText.c_str(); string newChatSender = msg.chatSender.c_str(); @@ -547,19 +548,13 @@ void ServerInterface::update() { broadcastMessage(&networkMessageText, connectionSlot->getPlayerIndex()); SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] after broadcast nmtText chatText [%s] chatSender [%s] chatTeamIndex = %d\n",__FILE__,__FUNCTION__,__LINE__,newChatText.c_str(),newChatSender.c_str(),newChatTeamIndex); - - //chatText = newChatText.c_str(); - //chatSender = newChatSender.c_str(); - //chatTeamIndex = newChatTeamIndex; - this->addChatInfo(msg); - - //SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] after connectionSlot->clearChatInfo chatText [%s] chatSender [%s] chatTeamIndex = %d\n",__FILE__,__FUNCTION__,__LINE__,chatText.c_str(),chatSender.c_str(),chatTeamIndex); } + SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] i = %d\n",__FILE__,__FUNCTION__,__LINE__,i); // Its possible that the slot is disconnected here // so check the original pointer again if(slots[i] != NULL) { - connectionSlot->clearChatInfo(); + slots[i]->clearChatInfo(); } } catch(const exception &ex) {