diff --git a/Sources/Plasma/PubUtilLib/plResMgr/plRegistryKeyList.cpp b/Sources/Plasma/PubUtilLib/plResMgr/plRegistryKeyList.cpp index 58fcc8c2..cc6d35a0 100644 --- a/Sources/Plasma/PubUtilLib/plResMgr/plRegistryKeyList.cpp +++ b/Sources/Plasma/PubUtilLib/plResMgr/plRegistryKeyList.cpp @@ -59,8 +59,10 @@ plRegistryKeyList::~plRegistryKeyList() for (int i = 0; i < fStaticKeys.size(); i++) { plKeyImp* keyImp = fStaticKeys[i]; - if (!keyImp->ObjectIsLoaded()) + if (keyImp && !keyImp->ObjectIsLoaded()) { delete keyImp; + keyImp = nullptr; + } } } diff --git a/Sources/Plasma/PubUtilLib/plResMgr/plRegistryNode.cpp b/Sources/Plasma/PubUtilLib/plResMgr/plRegistryNode.cpp index 8c8954b5..847645c5 100644 --- a/Sources/Plasma/PubUtilLib/plResMgr/plRegistryNode.cpp +++ b/Sources/Plasma/PubUtilLib/plResMgr/plRegistryNode.cpp @@ -204,6 +204,7 @@ void plRegistryPageNode::UnloadKeys() { plRegistryKeyList* keyList = it->second; delete keyList; + it->second = nullptr; } fKeyLists.clear();