fix TerminalEmbed

This commit is contained in:
2026-02-15 16:07:21 -06:00
parent 0ab0f4af47
commit 2899932f7f
3 changed files with 52 additions and 5 deletions

View File

@@ -12,6 +12,8 @@ void TerminalEmbed::run() {
modules[m]->run();
}
handleEvents();
for(auto m : toClose) {
unload(m);
}
@@ -29,3 +31,36 @@ void TerminalEmbed::run() {
}
bool TerminalEmbed::onEvent(const Archimedes::Event& event) {
unsigned int type = getEventType(event);
if(type == getEventType(Archimedes::DoLoadModuleEvent())) {
Archimedes::DoLoadModuleEvent& e = (Archimedes::DoLoadModuleEvent&) event;
startModule(e.module);
return true;
} else if(type == getEventType(Archimedes::DoUnloadModuleEvent())) {
Archimedes::DoUnloadModuleEvent& e = (Archimedes::DoUnloadModuleEvent&) event;
stopModule(e.module);
return true;
} else if(type == getEventType(Archimedes::LoadModuleEvent())) {
return true;
} else if(type == getEventType(Archimedes::UnloadModuleEvent())) {
return true;
} else if(type == getEventType(Archimedes::AnonymousEvent())) {
return true;
}
return false;
}