aboutsummaryrefslogtreecommitdiff
path: root/src/game/GameEventMgr.cpp
diff options
context:
space:
mode:
authorAnubisss <none@none>2010-01-23 14:45:58 +0100
committerAnubisss <none@none>2010-01-23 14:45:58 +0100
commitd9cb0702158fd045285f2c0a904cb31a45a3864a (patch)
treecdc6a7c6a83c6eea603ae296a653fb9f04945aad /src/game/GameEventMgr.cpp
parentc784110d87666579f18620a98e1e57118db4a9cf (diff)
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
Diffstat (limited to 'src/game/GameEventMgr.cpp')
-rw-r--r--src/game/GameEventMgr.cpp29
1 files changed, 2 insertions, 27 deletions
diff --git a/src/game/GameEventMgr.cpp b/src/game/GameEventMgr.cpp
index a884db5dc0f..04d0ea34842 100644
--- a/src/game/GameEventMgr.cpp
+++ b/src/game/GameEventMgr.cpp
@@ -194,7 +194,7 @@ void GameEventMgr::StopEvent( uint16 event_id, bool overwrite )
void GameEventMgr::LoadFromDB()
{
{
- QueryResult *result = WorldDatabase.Query("SELECT MAX(entry) FROM game_event");
+ QueryResult_AutoPtr result = WorldDatabase.Query("SELECT MAX(entry) FROM game_event");
if (!result)
{
sLog.outString(">> Table game_event is empty.");
@@ -205,12 +205,11 @@ void GameEventMgr::LoadFromDB()
Field *fields = result->Fetch();
uint32 max_event_id = fields[0].GetUInt16();
- delete result;
mGameEvent.resize(max_event_id+1);
}
- QueryResult *result = WorldDatabase.Query("SELECT entry,UNIX_TIMESTAMP(start_time),UNIX_TIMESTAMP(end_time),occurence,length,holiday,description,world_event FROM game_event");
+ QueryResult_AutoPtr result = WorldDatabase.Query("SELECT entry,UNIX_TIMESTAMP(start_time),UNIX_TIMESTAMP(end_time),occurence,length,holiday,description,world_event FROM game_event");
if (!result)
{
mGameEvent.clear();
@@ -267,7 +266,6 @@ void GameEventMgr::LoadFromDB()
pGameEvent.description = fields[6].GetCppString();
} while( result->NextRow() );
- delete result;
sLog.outString();
sLog.outString( ">> Loaded %u game events", count );
@@ -323,7 +321,6 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
sLog.outString();
sLog.outString( ">> Loaded %u game event saves in game events", count );
- delete result;
}
// load game event links (prerequisites)
@@ -378,7 +375,6 @@ void GameEventMgr::LoadFromDB()
} while (result->NextRow());
sLog.outString();
sLog.outString( ">> Loaded %u game event prerequisites in game events", count );
- delete result;
}
// Creatures
@@ -425,7 +421,6 @@ void GameEventMgr::LoadFromDB()
crelist.push_back(guid);
} while( result->NextRow() );
- delete result;
sLog.outString();
sLog.outString( ">> Loaded %u creatures in game events", count );
@@ -475,7 +470,6 @@ void GameEventMgr::LoadFromDB()
golist.push_back(guid);
} while( result->NextRow() );
- delete result;
sLog.outString();
sLog.outString( ">> Loaded %u gameobjects in game events", count );
@@ -539,7 +533,6 @@ void GameEventMgr::LoadFromDB()
equiplist.push_back(std::pair<uint32, ModelEquip>(guid, newModelEquipSet));
} while( result->NextRow() );
- delete result;
sLog.outString();
sLog.outString( ">> Loaded %u model/equipment changes in game events", count );
@@ -588,8 +581,6 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
sLog.outString();
sLog.outString( ">> Loaded %u quests additions in game events", count );
-
- delete result;
}
// GO Quests
@@ -633,7 +624,6 @@ void GameEventMgr::LoadFromDB()
questlist.push_back(QuestRelation(id, quest));
} while( result->NextRow() );
- delete result;
sLog.outString();
sLog.outString( ">> Loaded %u quests additions in game events", count );
@@ -682,8 +672,6 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
sLog.outString();
sLog.outString( ">> Loaded %u quest event conditions in game events", count );
-
- delete result;
}
// load conditions of the events
@@ -730,8 +718,6 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
sLog.outString();
sLog.outString( ">> Loaded %u conditions in game events", count );
-
- delete result;
}
// load condition saves
@@ -784,8 +770,6 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
sLog.outString();
sLog.outString( ">> Loaded %u condition saves in game events", count );
-
- delete result;
}
mGameEventNPCFlags.resize(mGameEvent.size());
@@ -831,8 +815,6 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
sLog.outString();
sLog.outString( ">> Loaded %u npcflags in game events", count );
-
- delete result;
}
// Vendor
@@ -902,8 +884,6 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
sLog.outString();
sLog.outString( ">> Loaded %u vendor additions in game events", count );
-
- delete result;
}
// load game event npc gossip ids
@@ -948,8 +928,6 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
sLog.outString();
sLog.outString( ">> Loaded %u npc gossip textids in game events", count );
-
- delete result;
}
// set all flags to 0
@@ -995,8 +973,6 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
sLog.outString();
sLog.outString( ">> Loaded %u battleground holidays in game events", count );
-
- delete result;
}
////////////////////////
@@ -1054,7 +1030,6 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
sLog.outString();
sLog.outString( ">> Loaded %u pools in game events", count );
- delete result;
}
}