From d9cb0702158fd045285f2c0a904cb31a45a3864a Mon Sep 17 00:00:00 2001 From: Anubisss Date: Sat, 23 Jan 2010 14:45:58 +0100 Subject: Implement QueryResult_AutoPtr type which is ACE's reference counted auto_ptr(ACE_Refcounted_Auto_Ptr) for QueryResult pointers. Use this auto_ptr for every DB queries(except QueryNamedResult yet). This patch guarantees NO memory leaks from QueryResult pointers. Thanks to raczman for the idea and for the helping to make this patch. --HG-- branch : trunk --- src/game/LootMgr.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/game/LootMgr.cpp') diff --git a/src/game/LootMgr.cpp b/src/game/LootMgr.cpp index 7288b1f0f27..502b552fbf8 100644 --- a/src/game/LootMgr.cpp +++ b/src/game/LootMgr.cpp @@ -100,7 +100,7 @@ void LootStore::LoadLootTable() sLog.outString( "%s :", GetName()); // 0 1 2 3 4 5 6 7 8 9 - QueryResult *result = WorldDatabase.PQuery("SELECT entry, item, ChanceOrQuestChance, lootmode, groupid, mincountOrRef, maxcount, lootcondition, condition_value1, condition_value2 FROM %s",GetName()); + QueryResult_AutoPtr result = WorldDatabase.PQuery("SELECT entry, item, ChanceOrQuestChance, lootmode, groupid, mincountOrRef, maxcount, lootcondition, condition_value1, condition_value2 FROM %s",GetName()); if (result) { @@ -163,8 +163,6 @@ void LootStore::LoadLootTable() } while (result->NextRow()); - delete result; - Verify(); // Checks validity of the loot store sLog.outString(); -- cgit v1.2.3