diff --git a/lib/libimhex/source/api/imhex_api.cpp b/lib/libimhex/source/api/imhex_api.cpp index 7283bd50b..62f583742 100644 --- a/lib/libimhex/source/api/imhex_api.cpp +++ b/lib/libimhex/source/api/imhex_api.cpp @@ -307,6 +307,7 @@ namespace hex { else if (it - s_providers.begin() == s_currentProvider) setCurrentProvider(0); + provider->close(); delete provider; } diff --git a/lib/libimhex/source/providers/provider.cpp b/lib/libimhex/source/providers/provider.cpp index 7169bd210..f29d8e79e 100644 --- a/lib/libimhex/source/providers/provider.cpp +++ b/lib/libimhex/source/providers/provider.cpp @@ -19,7 +19,6 @@ namespace hex::prv { Provider::~Provider() { for (auto &overlay : this->m_overlays) this->deleteOverlay(overlay); - this->close(); } void Provider::read(u64 offset, void *buffer, size_t size, bool overlays) {