summary refs log tree commit diff
path: root/pkgs/applications/networking/mailreaders/evolution/evolution/moduledir_from_env.patch
blob: 2a5edfb9a5a1b7bc15b88e09bb3a4913d44b941b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff --git a/src/shell/main.c b/src/shell/main.c
index 5d089225ca..030908d684 100644
--- a/src/shell/main.c
+++ b/src/shell/main.c
@@ -407,7 +407,15 @@ create_default_shell (void)
 	}

 	/* Load all shared library modules. */
-	module_types = e_module_load_all_in_directory (EVOLUTION_MODULEDIR);
+	const gchar *modules_directory = EVOLUTION_MODULEDIR;
+	const gchar *modules_directory_env;
+
+	modules_directory_env = g_getenv ("EVOLUTION_MODULEDIR");
+	if (modules_directory_env &&
+	    g_file_test (modules_directory_env, G_FILE_TEST_IS_DIR))
+		modules_directory = g_strdup (modules_directory_env);
+
+	module_types = e_module_load_all_in_directory (modules_directory);
 	g_list_free_full (module_types, (GDestroyNotify) g_type_module_unuse);

 	flags = G_APPLICATION_HANDLES_OPEN |