aboutsummaryrefslogtreecommitdiffstats
path: root/shell/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/main.c')
-rw-r--r--shell/main.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/shell/main.c b/shell/main.c
index 36f4d46b75..c3f9cde841 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -81,6 +81,10 @@
#include <pthread.h>
+#include "e-util/e-plugin.h"
+#ifdef ENABLE_MONO
+#include "e-util/e-plugin-mono.h"
+#endif
#define DEVELOPMENT
@@ -95,6 +99,10 @@ static gboolean killev = FALSE;
#ifdef DEVELOPMENT
static gboolean force_migrate = FALSE;
#endif
+#ifdef ENABLE_MONO
+static gboolean disable_mono = FALSE;
+#endif
+static gboolean disable_eplugin = FALSE;
static gint idle_cb (void *data);
@@ -474,6 +482,12 @@ main (int argc, char **argv)
#endif
{ "debug", '\0', POPT_ARG_STRING, &evolution_debug_log, 0,
N_("Send the debugging output of all components to a file."), NULL },
+#ifdef ENABLE_MONO
+ { "disable-mono", '\0', POPT_ARG_NONE, &disable_mono, 0,
+ N_("Disable the mono plugin environment."), NULL },
+#endif
+ { "disable-eplugin", '\0', POPT_ARG_NONE, &disable_eplugin, 0,
+ N_("Disable loading of any plugins."), NULL },
{ "setup-only", '\0', POPT_ARG_NONE | POPT_ARGFLAG_DOC_HIDDEN,
&setup_only, 0, NULL, NULL },
{ NULL, '\0', 0, NULL, 0, NULL, NULL }
@@ -571,6 +585,15 @@ main (int argc, char **argv)
gnome_sound_init ("localhost");
+ if (!disable_eplugin) {
+#ifdef ENABLE_MONO
+ if (!disable_mono && getenv("EVOLUTION_DISABLE_MONO") == NULL)
+ e_plugin_register_type(e_plugin_mono_get_type());
+#endif
+ e_plugin_register_type(e_plugin_lib_get_type());
+ e_plugin_load_plugins();
+ }
+
#ifdef DEVELOPMENT
client = gconf_client_get_default ();
skip_warning_dialog = gconf_client_get_bool (client, "/apps/evolution/shell/skip_warning_dialog", NULL);