aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorclick <none@none>2010-08-21 10:31:46 +0200
committerclick <none@none>2010-08-21 10:31:46 +0200
commitd16656bb5d27e7c148ca5f8f20a2c869ef23966b (patch)
treeb645ec06d717a5e9fa37746af83f1a8053f9d9b0 /src
parentf7ad5b26243c44b37c496021b75d98bc72fcdf4a (diff)
Core/Guild: Compile properly on *nix + fix so we don't delete the same item twice on disband (thanks shauren)
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Guilds/Guild.cpp7
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();
}