aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/Collision/Maps/MapTree.cpp3
-rw-r--r--src/common/Collision/Models/WorldModel.h2
-rw-r--r--src/server/game/DataStores/DB2Stores.cpp17
-rw-r--r--src/server/game/Entities/Conversation/Conversation.cpp2
-rw-r--r--src/server/game/Handlers/GuildFinderHandler.cpp3
5 files changed, 14 insertions, 13 deletions
diff --git a/src/common/Collision/Maps/MapTree.cpp b/src/common/Collision/Maps/MapTree.cpp
index 126f463d42c..c0ec1d151ac 100644
--- a/src/common/Collision/Maps/MapTree.cpp
+++ b/src/common/Collision/Maps/MapTree.cpp
@@ -276,7 +276,10 @@ namespace VMAP
}
FILE* tf = OpenMapTileFile(basePath, mapID, tileX, tileY, vm).File;
if (!tf)
+ {
+ fclose(rf);
return LoadResult::FileNotFound;
+ }
else
{
std::string tilefile = basePath + getTileFileName(mapID, tileX, tileY);
diff --git a/src/common/Collision/Models/WorldModel.h b/src/common/Collision/Models/WorldModel.h
index 8913a8358f9..f6d0b3c8fdc 100644
--- a/src/common/Collision/Models/WorldModel.h
+++ b/src/common/Collision/Models/WorldModel.h
@@ -107,7 +107,7 @@ namespace VMAP
class TC_COMMON_API WorldModel
{
public:
- WorldModel(): RootWMOID(0) { }
+ WorldModel(): Flags(0), RootWMOID(0) { }
//! pass group models to WorldModel and create BIH. Passed vector is swapped with old geometry!
void setGroupModels(std::vector<GroupModel> &models);
diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp
index a15543e9cb6..d13400c5494 100644
--- a/src/server/game/DataStores/DB2Stores.cpp
+++ b/src/server/game/DataStores/DB2Stores.cpp
@@ -2589,21 +2589,16 @@ static bool CheckUiMapAssignmentStatus(float x, float y, float z, int32 mapId, i
if (areaId && uiMapAssignment->AreaID)
{
int8 areaPriority = 0;
- if (areaId)
+ while (areaId != uiMapAssignment->AreaID)
{
- while (areaId != uiMapAssignment->AreaID)
+ if (AreaTableEntry const* areaEntry = sAreaTableStore.LookupEntry(areaId))
{
- if (AreaTableEntry const* areaEntry = sAreaTableStore.LookupEntry(areaId))
- {
- areaId = areaEntry->ParentAreaID;
- ++areaPriority;
- }
- else
- return false;
+ areaId = areaEntry->ParentAreaID;
+ ++areaPriority;
}
+ else
+ return false;
}
- else
- return false;
status->AreaPriority = areaPriority;
}
diff --git a/src/server/game/Entities/Conversation/Conversation.cpp b/src/server/game/Entities/Conversation/Conversation.cpp
index f087c43873f..1f898fb1700 100644
--- a/src/server/game/Entities/Conversation/Conversation.cpp
+++ b/src/server/game/Entities/Conversation/Conversation.cpp
@@ -25,7 +25,7 @@
#include "Unit.h"
#include "UpdateData.h"
-Conversation::Conversation() : WorldObject(false), _duration(0)
+Conversation::Conversation() : WorldObject(false), _duration(0), _textureKitId(0)
{
m_objectType |= TYPEMASK_CONVERSATION;
m_objectTypeId = TYPEID_CONVERSATION;
diff --git a/src/server/game/Handlers/GuildFinderHandler.cpp b/src/server/game/Handlers/GuildFinderHandler.cpp
index 6ef8e956fa9..47170cb5d4a 100644
--- a/src/server/game/Handlers/GuildFinderHandler.cpp
+++ b/src/server/game/Handlers/GuildFinderHandler.cpp
@@ -225,6 +225,9 @@ void WorldSession::HandleGuildFinderSetGuildPost(WorldPackets::GuildFinder::LFGu
return;
Guild* guild = sGuildMgr->GetGuildById(player->GetGuildId());
+ if (!guild)
+ return;
+
// Player must be guild master
if (guild->GetLeaderGUID() != player->GetGUID())
return;