From 735f086992d41f79295840fe3aaef037ff683a18 Mon Sep 17 00:00:00 2001 From: Ambal Date: Mon, 11 Apr 2011 22:07:43 +0300 Subject: [PATCH] [11329] Fix crash in ChatHandler::HandleNpcDeleteCommand() - correctly despawn TemporarySummon objects by using TemporarySummon::UnSummon() function. Signed-off-by: Ambal --- src/game/Level2.cpp | 15 ++++++++++++--- src/shared/revision_nr.h | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/game/Level2.cpp b/src/game/Level2.cpp index e00eb9c4b..f8f9b831d 100644 --- a/src/game/Level2.cpp +++ b/src/game/Level2.cpp @@ -41,6 +41,7 @@ #include #include #include +#include "TemporarySummon.h" #include "TargetedMovementGenerator.h" // for HandleNpcUnFollowCommand @@ -1818,9 +1819,17 @@ bool ChatHandler::HandleNpcDeleteCommand(char* args) } // Delete the creature - unit->CombatStop(); - unit->DeleteFromDB(); - unit->AddObjectToRemoveList(); + if(!unit->IsTemporarySummon()) + { + unit->CombatStop(); + unit->DeleteFromDB(); + unit->AddObjectToRemoveList(); + } + else + { + TemporarySummon * pSummon = static_cast(unit); + pSummon->UnSummon(); + } SendSysMessage(LANG_COMMAND_DELCREATMESSAGE); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 8fd1550fc..4d7046031 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11328" + #define REVISION_NR "11329" #endif // __REVISION_NR_H__