diff --git a/lib/libimhex/source/api/imhex_api.cpp b/lib/libimhex/source/api/imhex_api.cpp index 64faca59a..faf18ac9f 100644 --- a/lib/libimhex/source/api/imhex_api.cpp +++ b/lib/libimhex/source/api/imhex_api.cpp @@ -312,13 +312,13 @@ namespace hex { EventManager::post(provider); - - if (s_providers.empty()) - EventManager::post(provider, nullptr); - else if (it - s_providers.begin() == s_currentProvider) + if (!s_providers.empty() && it - s_providers.begin() == s_currentProvider) setCurrentProvider(0); s_providers.erase(it); + if (s_providers.empty()) + EventManager::post(provider, nullptr); + provider->close(); EventManager::post(provider);