about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/mate/caja/caja-extension-dirs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/mate/caja/caja-extension-dirs.patch')
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja/caja-extension-dirs.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/mate/caja/caja-extension-dirs.patch b/nixpkgs/pkgs/desktops/mate/caja/caja-extension-dirs.patch
new file mode 100644
index 000000000000..7490a368efd9
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/mate/caja/caja-extension-dirs.patch
@@ -0,0 +1,30 @@
+diff --git a/libcaja-private/caja-module.c b/libcaja-private/caja-module.c
+index 023c22e..414913b 100644
+--- a/libcaja-private/caja-module.c
++++ b/libcaja-private/caja-module.c
+@@ -258,11 +258,25 @@ caja_module_setup (void)
+ {
+     static gboolean initialized = FALSE;
+     GList *res;
++    gchar *caja_extension_dirs;
++    gchar **dir_vector;
+ 
+     if (!initialized)
+     {
+         initialized = TRUE;
+ 
++        caja_extension_dirs = (gchar *) g_getenv ("CAJA_EXTENSION_DIRS");
++
++        if (caja_extension_dirs)
++        {
++            dir_vector = g_strsplit (caja_extension_dirs, G_SEARCHPATH_SEPARATOR_S, 0);
++
++            for (gchar **dir = dir_vector; *dir != NULL; ++ dir)
++                load_module_dir (*dir);
++
++            g_strfreev(dir_vector);
++        }
++
+         load_module_dir (CAJA_EXTENSIONDIR);
+ 
+         eel_debug_call_at_shutdown (free_module_objects);