aboutsummaryrefslogtreecommitdiff
path: root/src/common/Collision/Models
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-07-06 22:52:11 +0200
committerOvahlord <dreadkiller@gmx.de>2024-07-06 22:59:34 +0200
commit120bea629ddf1bea2fae340f3422b8b6e477a709 (patch)
tree6740eb9b56a22c827803f29600331c5632c6e613 /src/common/Collision/Models
parent0fe73dc2b6527b7f0088ac310679d1c9e9c630ff (diff)
Core/Vmaps: Fixed use after free and deadlocks when loading a model file fails
(cherry picked from commit d05dbaaecbd4bf7e1c0fd32d0fef34341b4067f6)
Diffstat (limited to 'src/common/Collision/Models')
-rw-r--r--src/common/Collision/Models/WorldModel.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/common/Collision/Models/WorldModel.h b/src/common/Collision/Models/WorldModel.h
index 0958e9c308a..5e6d2a8a2fb 100644
--- a/src/common/Collision/Models/WorldModel.h
+++ b/src/common/Collision/Models/WorldModel.h
@@ -117,7 +117,7 @@ namespace VMAP
class TC_COMMON_API WorldModel
{
public:
- WorldModel(): Flags(ModelFlags::None), RootWMOID(0), name(nullptr) { }
+ WorldModel(): Flags(ModelFlags::None), RootWMOID(0) { }
//! pass group models to WorldModel and create BIH. Passed vector is swapped with old geometry!
void setGroupModels(std::vector<GroupModel> &models);
@@ -129,14 +129,11 @@ namespace VMAP
bool readFile(const std::string &filename);
bool IsM2() const { return Flags.HasFlag(ModelFlags::IsM2); }
std::vector<GroupModel> const& getGroupModels() const { return groupModels; }
- std::string const& GetName() const { return *name; }
- void SetName(std::string const* newName) { name = newName; }
protected:
EnumFlag<ModelFlags> Flags;
uint32 RootWMOID;
std::vector<GroupModel> groupModels;
BIH groupTree;
- std::string const* name; // valid only while model is held in VMapManager2::iLoadedModelFiles
};
} // namespace VMAP