diff options
Diffstat (limited to 'shell/main.c')
-rw-r--r-- | shell/main.c | 23 |
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); |