diff options
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/ea/partyhandler.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/net/ea/partyhandler.cpp b/src/net/ea/partyhandler.cpp index 6934dde0..030914b4 100644 --- a/src/net/ea/partyhandler.cpp +++ b/src/net/ea/partyhandler.cpp @@ -236,8 +236,8 @@ void PartyHandler::handleMessage(Net::MessageIn &msg) msg.readInt8(); // fail if (id == player_node->getId()) { + eaParty->removeFromMembers(); eaParty->clearMembers(); - player_node->setParty(NULL); localChatTab->chatLog(_("You have left the party."), BY_SERVER); if (partyTab) @@ -251,6 +251,11 @@ void PartyHandler::handleMessage(Net::MessageIn &msg) { partyTab->chatLog(strprintf(_("%s has left your party."), nick.c_str()), BY_SERVER); + Player *p = dynamic_cast<Player*>(beingManager->findBeing(id)); + if (p) + { + p->setParty(NULL); + } eaParty->removeMember(id); } break; |