aboutsummaryrefslogtreecommitdiffstats
path: root/main/irssi/irssi-0.8.15-no-static-unload.patch
diff options
context:
space:
mode:
authorCarlo Landmeter <clandmeter@gmail.com>2014-04-25 11:22:24 +0000
committerCarlo Landmeter <clandmeter@gmail.com>2014-04-25 11:23:41 +0000
commit85fca3b79a5d49553b451db15bcdd875ecc878db (patch)
tree20ba845205ed5b008c8fdddec4b3d632dda6c35c /main/irssi/irssi-0.8.15-no-static-unload.patch
parent268f8951c20fffc555242928f6e34e5563a68e67 (diff)
downloadaports-85fca3b79a5d49553b451db15bcdd875ecc878db.tar.bz2
aports-85fca3b79a5d49553b451db15bcdd875ecc878db.tar.xz
main/irssi: upgrade to 0.8.16_rc1 and split perl (again)
Diffstat (limited to 'main/irssi/irssi-0.8.15-no-static-unload.patch')
-rw-r--r--main/irssi/irssi-0.8.15-no-static-unload.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/main/irssi/irssi-0.8.15-no-static-unload.patch b/main/irssi/irssi-0.8.15-no-static-unload.patch
new file mode 100644
index 0000000000..c583f1c372
--- /dev/null
+++ b/main/irssi/irssi-0.8.15-no-static-unload.patch
@@ -0,0 +1,35 @@
+--- irssi-0.8.15/src/fe-common/core/fe-modules.c.old 2010-04-03 18:19:24.000000000 +0200
++++ irssi-0.8.15/src/fe-common/core/fe-modules.c 2010-10-12 14:43:52.586315553 +0200
+@@ -195,6 +195,8 @@
+ MODULE_FILE_REC *file;
+ char *rootmodule, *submodule;
+ void *free_arg;
++ GSList *tmp;
++ int all_dynamic;
+
+ g_return_if_fail(data != NULL);
+
+@@ -204,12 +206,19 @@
+
+ module = module_find(rootmodule);
+ if (module != NULL) {
+- if (*submodule == '\0')
+- module_unload(module);
++ if (*submodule == '\0') {
++ all_dynamic = 1;
++ for (tmp = module->files; tmp != NULL; tmp = tmp->next)
++ all_dynamic &= !MODULE_IS_STATIC((MODULE_FILE_REC*) tmp->data);
++ if (all_dynamic)
++ module_unload(module);
++ }
+ else {
+ file = module_file_find(module, submodule);
+- if (file != NULL)
+- module_file_unload(file);
++ if (file != NULL) {
++ if (!MODULE_IS_STATIC(file))
++ module_file_unload(file);
++ }
+ else
+ module = NULL;
+ }