From dfeacb3b404c02491fec5d684adb26cab1ecd0db Mon Sep 17 00:00:00 2001 From: Nathan Date: Thu, 10 Apr 2025 14:59:31 -0500 Subject: [PATCH] don't call functions on nullptr --- include/utils/App/App.h | 6 ++---- src/example_apps/MinimalApp/MinimalApp.cpp | 9 +++++++-- src/example_apps/MinimalApp/MinimalApp.h | 4 ---- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/include/utils/App/App.h b/include/utils/App/App.h index 53d569f..2464380 100644 --- a/include/utils/App/App.h +++ b/include/utils/App/App.h @@ -95,10 +95,9 @@ namespace Archimedes { if(*it == m->getName()) { std::cout << "Module \"" << *it << "\" is already loaded!\n"; delete m; - std::cout << "m deleted successfully!\n"; - if(h) + if(h) { dlclose(h); - std::cout << "h dlclose successfully!\n"; + } return nullptr; } } @@ -121,7 +120,6 @@ namespace Archimedes { bool skip = false; for(auto it : m->deps) { - //std::cout << "Module " << m->getName() << " has dependency " << it.first << std::endl; for(auto s : runOrder) { if(s == it.first) { skip = true; diff --git a/src/example_apps/MinimalApp/MinimalApp.cpp b/src/example_apps/MinimalApp/MinimalApp.cpp index 3f756eb..4c8dd2e 100644 --- a/src/example_apps/MinimalApp/MinimalApp.cpp +++ b/src/example_apps/MinimalApp/MinimalApp.cpp @@ -19,10 +19,15 @@ void MinimalApp::run() { toClose.clear(); for(auto m : toOpen) { + static Archimedes::Module* n; if(std::holds_alternative(m)) { - load(std::get(m))->onLoad(); + n = load(std::get(m)); } else { - load(std::get(m))->onLoad(); + n = load(std::get(m)); + } + if(n) { + n->onLoad(); + n = nullptr; } } toOpen.clear(); diff --git a/src/example_apps/MinimalApp/MinimalApp.h b/src/example_apps/MinimalApp/MinimalApp.h index 93ed6f7..68036e5 100644 --- a/src/example_apps/MinimalApp/MinimalApp.h +++ b/src/example_apps/MinimalApp/MinimalApp.h @@ -24,10 +24,6 @@ class MinimalApp : public Archimedes::App { void run(); - //void stopModule(std::list::iterator); - - //void startModule(std::string); - }; #define APP_TYPE MinimalApp