diff options
author | click <none@none> | 2010-08-21 10:31:46 +0200 |
---|---|---|
committer | click <none@none> | 2010-08-21 10:31:46 +0200 |
commit | d16656bb5d27e7c148ca5f8f20a2c869ef23966b (patch) | |
tree | b645ec06d717a5e9fa37746af83f1a8053f9d9b0 | |
parent | f7ad5b26243c44b37c496021b75d98bc72fcdf4a (diff) |
Core/Guild: Compile properly on *nix + fix so we don't delete the same item twice on disband (thanks shauren)
--HG--
branch : trunk
-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(); } |