aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Battlefield/Battlefield.cpp
diff options
context:
space:
mode:
authorKandera <KanderaDev@gmail.com>2012-02-22 16:32:51 -0500
committerKandera <KanderaDev@gmail.com>2012-08-20 13:36:09 -0400
commitdd05f1dcd278a2a50880d10a5df1549b4afbcc55 (patch)
tree033e254028aed647cdfe58d05c07cdf4c367d5e0 /src/server/game/Battlefield/Battlefield.cpp
parent6318fd91ff3630923c0e2b088fe66c14f7c31101 (diff)
fix crash with groups, added enum for battlfield leave reasons
Diffstat (limited to 'src/server/game/Battlefield/Battlefield.cpp')
-rw-r--r--src/server/game/Battlefield/Battlefield.cpp14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/server/game/Battlefield/Battlefield.cpp b/src/server/game/Battlefield/Battlefield.cpp
index 6a5ca0b5c02..aa9cc34a115 100644
--- a/src/server/game/Battlefield/Battlefield.cpp
+++ b/src/server/game/Battlefield/Battlefield.cpp
@@ -103,17 +103,9 @@ void Battlefield::HandlePlayerLeaveZone(Player *plr, uint32 /*zone */ )
{
m_PlayersInWar[plr->GetTeamId()].erase(plr->GetGUID());
plr->GetSession()->SendBfLeaveMessage(m_BattleId);
- if (Group* group = GetGroupPlayer(plr->GetGUID(), plr->GetTeamId())) // remove from raid group if player is member
- {
- // I think that now is not a hack
- if (!group->RemoveMember(plr->GetGUID())) // group was disbanded
- {
- m_Groups[plr->GetTeamId()].erase(group->GetGUID());
- group->SetBattlefieldGroup(NULL);
- sGroupMgr->RemoveGroup(group);
- delete group;
- }
- }
+ if (Group* group = plr->GetGroup()) // remove from raid group if player is member
+ group->RemoveMember(plr->GetGUID());
+
OnPlayerLeaveWar(plr); //For scripting
}
}