diff --git a/Engine/source/console/simDictionary.cpp b/Engine/source/console/simDictionary.cpp index c1b0bf056..03fadb990 100644 --- a/Engine/source/console/simDictionary.cpp +++ b/Engine/source/console/simDictionary.cpp @@ -23,7 +23,6 @@ #include "console/simDictionary.h" #include "console/simBase.h" - //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- extern U32 HashPointer(StringTableEntry e); @@ -46,7 +45,7 @@ SimNameDictionary::~SimNameDictionary() void SimNameDictionary::insert(SimObject* obj) { - if(!obj->objectName) + if(!obj || !obj->objectName) return; SimObject* checkForDup = find(obj->objectName); @@ -140,7 +139,7 @@ SimObject* SimNameDictionary::find(StringTableEntry name) void SimNameDictionary::remove(SimObject* obj) { - if(!obj->objectName) + if(!obj || !obj->objectName) return; Mutex::lockMutex(mutex); @@ -191,7 +190,7 @@ SimManagerNameDictionary::~SimManagerNameDictionary() void SimManagerNameDictionary::insert(SimObject* obj) { - if(!obj->objectName) + if(!obj || !obj->objectName) return; Mutex::lockMutex(mutex); @@ -268,7 +267,7 @@ SimObject* SimManagerNameDictionary::find(StringTableEntry name) void SimManagerNameDictionary::remove(SimObject* obj) { - if(!obj->objectName) + if(!obj || !obj->objectName) return; #ifndef USE_NEW_SIMDICTIONARY @@ -316,6 +315,9 @@ SimIdDictionary::~SimIdDictionary() void SimIdDictionary::insert(SimObject* obj) { + if (!obj) + return; + Mutex::lockMutex(mutex); #ifndef USE_NEW_SIMDICTIONARY S32 idx = obj->getId() & TableBitMask; @@ -356,6 +358,9 @@ SimObject* SimIdDictionary::find(S32 id) void SimIdDictionary::remove(SimObject* obj) { + if (!obj) + return; + Mutex::lockMutex(mutex); #ifndef USE_NEW_SIMDICTIONARY SimObject **walk = &table[obj->getId() & TableBitMask]; diff --git a/Engine/source/console/simDictionary.h b/Engine/source/console/simDictionary.h index f32c8b8d0..bbfb0f385 100644 --- a/Engine/source/console/simDictionary.h +++ b/Engine/source/console/simDictionary.h @@ -45,8 +45,6 @@ class SimObject; #include "console/sim.h" #endif -#include "core/strings/stringFunctions.h" - struct StringTableEntryHash { inline size_t operator()(StringTableEntry val) const @@ -67,8 +65,6 @@ typedef std::unordered_map SimObjectIdDictDef; #endif - - //---------------------------------------------------------------------------- /// Map of names to SimObjects ///