From 0b16f632cbc1a15cf51e105ccd22ea594db3b0ef Mon Sep 17 00:00:00 2001 From: Nathan Date: Fri, 14 Mar 2025 22:30:15 -0500 Subject: [PATCH] erase node before deleting module? --- src/App.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/App.cpp b/src/App.cpp index 5dfdb27..fa8eeba 100644 --- a/src/App.cpp +++ b/src/App.cpp @@ -78,12 +78,15 @@ void App::load(std::string lib) { void App::unload(decltype(Module::self) it) { void* handle = (*it)->getHandle(); std::cout << "retrieved handle\nAttempting to delete module: " << (*it)->getName() << std::endl; - delete *it; + Module* m = *it; + *it = nullptr; + modules.erase(it); + std::cout << "erased iterator\n"; + delete m; std::cout << "deleted module\n"; dlclose(handle); std::cout << "closed handle\n"; - modules.erase(it); - std::cout << "erased iterator\n"; + } void App::handleArgs(const int& argc, char* argv[]) {