summaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authormarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2010-04-12 00:50:29 +0800
committermarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2010-04-12 00:50:29 +0800
commit0ec65e7a2aaabf2f979aec9a9cf73c1578bd5eb4 (patch)
treea77f8a3ce29ece5def44cddfbae3080918ec2c7a /mail
parent26d5d31a33df7b9d7da5903b2bec6568bf87b681 (diff)
downloadmarcuscom-ports-0ec65e7a2aaabf2f979aec9a9cf73c1578bd5eb4.tar
marcuscom-ports-0ec65e7a2aaabf2f979aec9a9cf73c1578bd5eb4.tar.gz
marcuscom-ports-0ec65e7a2aaabf2f979aec9a9cf73c1578bd5eb4.tar.bz2
marcuscom-ports-0ec65e7a2aaabf2f979aec9a9cf73c1578bd5eb4.tar.lz
marcuscom-ports-0ec65e7a2aaabf2f979aec9a9cf73c1578bd5eb4.tar.xz
marcuscom-ports-0ec65e7a2aaabf2f979aec9a9cf73c1578bd5eb4.tar.zst
marcuscom-ports-0ec65e7a2aaabf2f979aec9a9cf73c1578bd5eb4.zip
Fix crash when switching modules by making the addressbook module resident.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@14038 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'mail')
-rw-r--r--mail/evolution/Makefile3
-rw-r--r--mail/evolution/files/patch-modules_addressbook_evolution-module-addressbook.c19
2 files changed, 21 insertions, 1 deletions
diff --git a/mail/evolution/Makefile b/mail/evolution/Makefile
index 8fbfbb7e8..ac6d018bd 100644
--- a/mail/evolution/Makefile
+++ b/mail/evolution/Makefile
@@ -3,11 +3,12 @@
# Whom: Ade Lovett <ade@FreeBSD.org>
#
# $FreeBSD$
-# $MCom: ports/mail/evolution/Makefile,v 1.219 2010/03/15 12:36:30 kwm Exp $
+# $MCom: ports/mail/evolution/Makefile,v 1.220 2010/04/01 11:17:55 kwm Exp $
#
PORTNAME= evolution
PORTVERSION= 2.30.0.1
+PORTREVISION= 1
CATEGORIES= mail gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome2
diff --git a/mail/evolution/files/patch-modules_addressbook_evolution-module-addressbook.c b/mail/evolution/files/patch-modules_addressbook_evolution-module-addressbook.c
new file mode 100644
index 000000000..0df6bd970
--- /dev/null
+++ b/mail/evolution/files/patch-modules_addressbook_evolution-module-addressbook.c
@@ -0,0 +1,19 @@
+--- modules/addressbook/evolution-module-addressbook.c.orig 2010-04-11 12:47:18.000000000 -0400
++++ modules/addressbook/evolution-module-addressbook.c 2010-04-11 12:48:06.000000000 -0400
+@@ -47,3 +47,16 @@ G_MODULE_EXPORT void
+ e_module_unload (GTypeModule *type_module)
+ {
+ }
++
++G_MODULE_EXPORT const gchar *
++g_module_check_init (GModule *module)
++{
++ /* FIXME Until addressbook is split into a module library and a
++ * reusable shared library, prevent the module from
++ * being unloaded. Unloading the module resets all
++ * static variables, which screws up foo_get_type()
++ * functions among other things. */
++ g_module_make_resident (module);
++
++ return NULL;
++}