summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes1
-rw-r--r--src/modules.c10
-rw-r--r--version.log6
3 files changed, 11 insertions, 6 deletions
diff --git a/Changes b/Changes
index 56f4469af..d643c7c57 100644
--- a/Changes
+++ b/Changes
@@ -30,6 +30,7 @@ Provided by Anope Dev. <dev@anope.org> - 2006
06/16 F Fixed typo in function name. [#524]
06/18 F Removed legacy my_vsnprintf code. [#496]
06/18 F HOP cannot remove VOPs anymore to be consitent with adding. [#525]
+06/18 F Moduledata was cleared before calling AnopeFini. [#523]
Provided by ThaPrince <jon@vile.com> - 2006
05/19 A Plexus 3 support. [ #00]
diff --git a/src/modules.c b/src/modules.c
index 8296301fe..f366ff23e 100644
--- a/src/modules.c
+++ b/src/modules.c
@@ -238,11 +238,6 @@ void modules_unload_all(boolean fini)
while (mh) {
next = mh->next;
if(fini) {
- if (prepForUnload(mh->m) != MOD_ERR_OK) {
- mh = next;
- continue;
- }
-
func = (void (*)(void))ano_modsym(mh->m->handle, "AnopeFini");
if (func) {
mod_current_module_name = mh->m->name;
@@ -250,6 +245,11 @@ void modules_unload_all(boolean fini)
mod_current_module_name = NULL;
}
+ if (prepForUnload(mh->m) != MOD_ERR_OK) {
+ mh = next;
+ continue;
+ }
+
if ((ano_modclose(mh->m->handle)) != 0)
alog(ano_moderr());
else
diff --git a/version.log b/version.log
index 393776650..07b8f93e9 100644
--- a/version.log
+++ b/version.log
@@ -9,10 +9,14 @@ VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="14"
VERSION_EXTRA=""
-VERSION_BUILD="1059"
+VERSION_BUILD="1060"
# $Log$
#
+# BUILD : 1.7.14 (1060)
+# BUGS : 523
+# NOTES : Module data was cleared before calling AnopeFini, thus being evil to saving-routines and such (like in ns_noop)
+#
# BUILD : 1.7.14 (1059)
# BUGS : 525
# NOTES : In cs_xop, copied the check from ADD to DEL, so you still need AOP to remove people from any XOP list (HOP could delete VOP)