From bcab657a06690a19fda5aaad7a39c57b98719228 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sun, 1 Oct 2023 20:18:26 +0200 Subject: [PATCH] fix: No provider being selected in some cases when closing a provider --- lib/libimhex/source/api/imhex_api.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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())