aboutsummaryrefslogtreecommitdiffstats
path: root/modules/plugin-mono
diff options
context:
space:
mode:
authorChenthill Palanisamy <pchenthill@novell.com>2010-05-26 18:20:09 +0800
committerChenthill Palanisamy <pchenthill@novell.com>2010-05-26 18:21:24 +0800
commit6865817188d8f20ed7191697a0c62058d28466e5 (patch)
tree058468421ec9358c920e8826c98485eb2333b44c /modules/plugin-mono
parent882bc86f40371c29a486ef34b17c115098dc184c (diff)
downloadgsoc2013-evolution-6865817188d8f20ed7191697a0c62058d28466e5.tar.gz
gsoc2013-evolution-6865817188d8f20ed7191697a0c62058d28466e5.tar.zst
gsoc2013-evolution-6865817188d8f20ed7191697a0c62058d28466e5.zip
Bug 576165 - SIGSEGV in e_plugin_mono_register_type (bnc)
Diffstat (limited to 'modules/plugin-mono')
-rw-r--r--modules/plugin-mono/e-plugin-mono.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/modules/plugin-mono/e-plugin-mono.c b/modules/plugin-mono/e-plugin-mono.c
index f1fe76ff49..eb4b60cf97 100644
--- a/modules/plugin-mono/e-plugin-mono.c
+++ b/modules/plugin-mono/e-plugin-mono.c
@@ -121,6 +121,11 @@ plugin_mono_invoke (EPlugin *plugin,
plugin_mono = E_PLUGIN_MONO (plugin);
priv = plugin_mono->priv;
+ if (!domain) {
+ mono_config_parse (NULL);
+ domain = mono_jit_init (plugin_mono->location);
+ }
+
/* We need to do this every time since we may
* be called from any thread for some uses. */
mono_thread_attach (domain);
@@ -258,7 +263,4 @@ e_plugin_mono_register_type (GTypeModule *type_module)
plugin_mono_type = g_type_module_register_type (
type_module, E_TYPE_PLUGIN,
"EPluginMono", &type_info, 0);
-
- domain = mono_jit_init ("Evolution");
- mono_thread_attach (domain);
}