This commit is contained in:
2025-04-17 14:58:22 -05:00
parent f36f6ae125
commit a1e9401aaa
23 changed files with 157 additions and 44 deletions

View File

@@ -140,7 +140,7 @@ namespace Archimedes {
void* h = m->getHandle();
for(auto it = runOrder.begin(); it != runOrder.end(); it++) {
if(*it == m->getName()) {
if(*it == static_cast<std::string>(*m)) {
std::cout << "Module \"" << *it << "\" is already loaded!\n";
delete m;
if(h) {
@@ -150,7 +150,7 @@ namespace Archimedes {
}
}
modules[m->getName()] = m;
modules[*m] = m;
for(auto it = runOrder.begin(); it != runOrder.end(); it++) {
@@ -164,7 +164,7 @@ namespace Archimedes {
}
//insert temporarily to avoid circular dependencies
runOrder.insert(roInsert, m->getName());
runOrder.insert(roInsert, *m);
bool skip = false;
for(auto it : m->deps) {
@@ -185,9 +185,9 @@ namespace Archimedes {
}
//reinsert once final order has been reached
runOrder.remove(m->getName());
runOrder.remove(*m);
runOrder.insert(roInsert, m->getName());
runOrder.insert(roInsert, *m);
return m;
}