diff options
-rw-r--r-- | src/server/game/Guilds/Guild.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index db59a02dd78..d7b13273a97 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -59,7 +59,8 @@ Guild::Guild() Guild::~Guild() { - DeleteGuildBankItems(SQLTransaction(NULL)); + SQLTransaction temp = SQLTransaction(NULL); + DeleteGuildBankItems(temp); } bool Guild::Create(Player* leader, std::string gname) @@ -2356,7 +2357,7 @@ void Guild::DeleteGuildBankItems(SQLTransaction& trans, bool alsoInDB /*= false* { for (uint8 j = 0; j < GUILD_BANK_MAX_SLOTS; ++j) { - if (Item* pItem = m_TabListMap[i]->Slots[j]) + if (Item*& pItem = m_TabListMap[i]->Slots[j]) { pItem->RemoveFromWorld(); @@ -2364,9 +2365,11 @@ void Guild::DeleteGuildBankItems(SQLTransaction& trans, bool alsoInDB /*= false* pItem->DeleteFromDB(trans); delete pItem; + pItem = NULL; } } delete m_TabListMap[i]; + m_TabListMap[i] = NULL; } m_TabListMap.clear(); } |