diff --git a/modules/globebrowsing/src/layergroup.cpp b/modules/globebrowsing/src/layergroup.cpp index 3adf42d366..d788adf9c7 100644 --- a/modules/globebrowsing/src/layergroup.cpp +++ b/modules/globebrowsing/src/layergroup.cpp @@ -185,7 +185,6 @@ void LayerGroup::deleteLayer(const std::string& layerName) { std::string name = layerName; removePropertySubOwner(it->get()); (*it)->deinitialize(); - _layers.erase(it); properties::PropertyOwner* layerGroup = it->get()->owner(); properties::PropertyOwner* layerManager = layerGroup->owner(); properties::PropertyOwner* globe = layerManager->owner(); @@ -195,6 +194,7 @@ void LayerGroup::deleteLayer(const std::string& layerName) { layerGroup->identifier(), it->get()->identifier() ); + _layers.erase(it); update(); if (_onChangeCallback) { _onChangeCallback(nullptr); diff --git a/src/scene/assetmanager.cpp b/src/scene/assetmanager.cpp index 5c9a712d33..d3cee96134 100644 --- a/src/scene/assetmanager.cpp +++ b/src/scene/assetmanager.cpp @@ -127,8 +127,8 @@ void AssetManager::deinitialize() { for (Asset* asset : _rootAssets) { if (!asset->hasInitializedParent()) { asset->deinitialize(); + asset->unload(); } - asset->unload(); } _toBeDeleted.clear(); }