summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Athay <ko2fan@gmail.com>2008-11-24 15:47:40 +0000
committerDavid Athay <ko2fan@gmail.com>2008-11-24 15:47:40 +0000
commit66b9fe66399e13bdebd56091250aa1eec8ac1040 (patch)
treea53a8afcbaf71a3a64b2f3f006c186a0501202b9
parentb1e8822db74cb0e88e51f764a816627a5f2e0927 (diff)
downloadmanaserv-66b9fe66399e13bdebd56091250aa1eec8ac1040.tar.gz
manaserv-66b9fe66399e13bdebd56091250aa1eec8ac1040.tar.bz2
manaserv-66b9fe66399e13bdebd56091250aa1eec8ac1040.tar.xz
manaserv-66b9fe66399e13bdebd56091250aa1eec8ac1040.zip
Fix crash where player is removed before hes left the party
-rw-r--r--src/chat-server/chathandler.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/chat-server/chathandler.cpp b/src/chat-server/chathandler.cpp
index ed4a1c19..e6e3452f 100644
--- a/src/chat-server/chathandler.cpp
+++ b/src/chat-server/chathandler.cpp
@@ -131,11 +131,13 @@ void ChatHandler::computerDisconnected(NetComputer *comp)
// Remove user from all channels.
chatChannelManager->removeUserFromAllChannels(computer);
- // Remove the character from the player map
- mPlayerMap.erase(computer->characterName);
-
// Remove user from party
removeUserFromParty(*computer);
+
+ // Remove the character from the player map
+ // need to do this after removing them from party
+ // as that uses the player map
+ mPlayerMap.erase(computer->characterName);
}
delete computer;