From bca02a24b053fb5f7aa185d12c4547aab24532e1 Mon Sep 17 00:00:00 2001 From: RioMcBoo <26213257+RioMcBoo@users.noreply.github.com> Date: Wed, 8 May 2024 21:02:04 +0300 Subject: [PATCH] Core/Guild: Fix RemoveMember handler (#77) --- Source/Game/Guilds/Guild.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/Game/Guilds/Guild.cs b/Source/Game/Guilds/Guild.cs index e9d60ebc0..756c51960 100644 --- a/Source/Game/Guilds/Guild.cs +++ b/Source/Game/Guilds/Guild.cs @@ -672,13 +672,15 @@ namespace Game.Guilds SendCommandResult(session, GuildCommandType.RemovePlayer, GuildCommandError.RankTooHigh_S, name); else { - DeleteMember(null, guid, false, true); _LogEvent(GuildEventLogTypes.UninvitePlayer, player.GetGUID().GetCounter(), guid.GetCounter()); Player pMember = Global.ObjAccessor.FindConnectedPlayer(guid); SendEventPlayerLeft(pMember, player, true); SendCommandResult(session, GuildCommandType.RemovePlayer, GuildCommandError.Success, name); + + // After call to DeleteMember pointer to member becomes invalid + DeleteMember(null, guid, false, true); } } }