aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2013-11-29 20:57:51 +0100
committerjackpoz <giacomopoz@gmail.com>2013-11-29 20:57:51 +0100
commit3b471f495c765b2a278bed8e62e9210fab7f80e9 (patch)
treedbdca995f6e2d88ae0a6dd672ad97535fc5d3db5 /src
parent4416c1604558506346e7ca6d0ff6ec7fc502215c (diff)
Core/Transports: Log an error if a Transport has no GameObject template
Log an error if a Transport has no GameObject template from `gameobject_template` table instead of dereferencing NULL .
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Maps/TransportMgr.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Maps/TransportMgr.cpp b/src/server/game/Maps/TransportMgr.cpp
index b84a8ddb217..11798201397 100644
--- a/src/server/game/Maps/TransportMgr.cpp
+++ b/src/server/game/Maps/TransportMgr.cpp
@@ -60,6 +60,12 @@ void TransportMgr::LoadTransportTemplates()
Field* fields = result->Fetch();
uint32 entry = fields[0].GetUInt32();
GameObjectTemplate const* goInfo = sObjectMgr->GetGameObjectTemplate(entry);
+ if (goInfo == NULL)
+ {
+ TC_LOG_ERROR("sql.sql", "Transport %u has no associated GameObjectTemplate from `gameobject_template` , skipped.", entry);
+ continue;
+ }
+
if (goInfo->moTransport.taxiPathId >= sTaxiPathNodesByPath.size())
{
TC_LOG_ERROR("sql.sql", "Transport %u (name: %s) has an invalid path specified in `gameobject_template`.`data0` (%u) field, skipped.", entry, goInfo->name.c_str(), goInfo->moTransport.taxiPathId);