diff options
author | Cara Salter <cara@devcara.com> | 2023-04-03 09:39:39 -0400 |
---|---|---|
committer | Cara Salter <cara@devcara.com> | 2023-04-03 09:39:39 -0400 |
commit | 27e58363dde28f4667761970fc7068be8fe047ac (patch) | |
tree | 1150459da073130084cd6a1b27076da98679b964 /include | |
parent | 53913850062506ff1d98d9d12a46a70db4d6fb08 (diff) | |
download | 142bot-27e58363dde28f4667761970fc7068be8fe047ac.tar.gz 142bot-27e58363dde28f4667761970fc7068be8fe047ac.zip |
modules: Fix issue with unloading modules bound to OnMessage
When unloaded, modules attached to OnMessage events would still be part
of the list used by FOREACH_MOD to send events to, leading to a
segfault.
This changes the behavior of load and unload to place new modules at the
*start* of the event handler arrays, leading them to already be
processed by the time the bot gets to the ModuleManager.
Diffstat (limited to 'include')
-rw-r--r-- | include/142bot/modules.hpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/142bot/modules.hpp b/include/142bot/modules.hpp index 27025b8..3af0253 100644 --- a/include/142bot/modules.hpp +++ b/include/142bot/modules.hpp @@ -73,7 +73,8 @@ enum Events { \ try \ { \ - if (!(*_i)->x) { \ + if (!(*_i)->x) { \ + list_to_call = loader->EventHandlers[y]; \ break; \ } \ } \ |