diff options
author | Duarte Duarte <dnpd.dd@gmail.com> | 2015-02-15 02:40:00 +0000 |
---|---|---|
committer | Duarte Duarte <dnpd.dd@gmail.com> | 2015-02-15 02:40:00 +0000 |
commit | ad53be708162cf277af6ae2f391e40fcf4b81333 (patch) | |
tree | 47daa04e27f0c22ef1cf7682fa63eff128ed2d28 | |
parent | 6672642ee6495dcf6e165279c074813d14aa185a (diff) |
Core/Guild: Fix crash on guild creation
Closes #14140
-rw-r--r-- | src/server/game/Guilds/Guild.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 955b1b6edac..4af31ac738a 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -2187,12 +2187,20 @@ void Guild::SendEventNewLeader(Member* newLeader, Member* oldLeader, bool isSelf { WorldPackets::Guild::GuildEventNewLeader eventPacket; eventPacket.SelfPromoted = isSelfPromoted; - eventPacket.NewLeaderGUID = newLeader->GetGUID(); - eventPacket.NewLeaderName = newLeader->GetName(); - eventPacket.NewLeaderVirtualRealmAddress = GetVirtualRealmAddress(); - eventPacket.OldLeaderGUID = oldLeader->GetGUID(); - eventPacket.OldLeaderName = oldLeader->GetName(); - eventPacket.OldLeaderVirtualRealmAddress = GetVirtualRealmAddress(); + if (newLeader) + { + eventPacket.NewLeaderGUID = newLeader->GetGUID(); + eventPacket.NewLeaderName = newLeader->GetName(); + eventPacket.NewLeaderVirtualRealmAddress = GetVirtualRealmAddress(); + } + + if (oldLeader) + { + eventPacket.OldLeaderGUID = oldLeader->GetGUID(); + eventPacket.OldLeaderName = oldLeader->GetName(); + eventPacket.OldLeaderVirtualRealmAddress = GetVirtualRealmAddress(); + } + BroadcastPacket(eventPacket.Write()); } @@ -2204,7 +2212,7 @@ void Guild::SendEventPlayerLeft(Player* leaver, Player* remover, bool isRemoved) eventPacket.LeaverName = leaver->GetName(); eventPacket.LeaverVirtualRealmAddress = GetVirtualRealmAddress(); - if (isRemoved) + if (isRemoved && remover != nullptr) { eventPacket.RemoverGUID = remover->GetGUID(); eventPacket.RemoverName = remover->GetName(); |