diff --git a/lib/libimhex/source/api/imhex_api.cpp b/lib/libimhex/source/api/imhex_api.cpp index f8988b4b3..ff1555515 100644 --- a/lib/libimhex/source/api/imhex_api.cpp +++ b/lib/libimhex/source/api/imhex_api.cpp @@ -312,8 +312,12 @@ namespace hex { if (it == s_providers.end()) return; - if (!s_providers.empty() && it - s_providers.begin() == s_currentProvider) - setCurrentProvider(0); + if (!s_providers.empty()) { + if (it == s_providers.begin()) + setCurrentProvider(0); + else if (std::distance(s_providers.begin(), it) < 0) + setCurrentProvider(s_currentProvider - 1); + } s_providers.erase(it); if (s_providers.empty())