fix(Core/Guild): Fix use of guild members' data after deletion. (#21421)
This commit is contained in:
parent
fe2627bc91
commit
c92d50d6ec
@ -1556,11 +1556,14 @@ void Guild::HandleRemoveMember(WorldSession* session, std::string_view name)
|
||||
SendCommandResult(session, GUILD_COMMAND_REMOVE, ERR_GUILD_RANK_TOO_HIGH_S, name);
|
||||
else
|
||||
{
|
||||
// Copy values since everything will be deleted in DeleteMember().
|
||||
ObjectGuid guid = member->GetGUID();
|
||||
std::string memberName = member->GetName();
|
||||
|
||||
// After call to DeleteMember pointer to member becomes invalid
|
||||
DeleteMember(guid, false, true);
|
||||
_LogEvent(GUILD_EVENT_LOG_UNINVITE_PLAYER, player->GetGUID(), guid);
|
||||
_BroadcastEvent(GE_REMOVED, ObjectGuid::Empty, member->GetName(), player->GetName());
|
||||
_BroadcastEvent(GE_REMOVED, ObjectGuid::Empty, memberName, player->GetName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user