diff options
Diffstat (limited to 'tests/ephy-embed-shell-test.c')
-rw-r--r-- | tests/ephy-embed-shell-test.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/ephy-embed-shell-test.c b/tests/ephy-embed-shell-test.c index ef30b448b..9a7bbce47 100644 --- a/tests/ephy-embed-shell-test.c +++ b/tests/ephy-embed-shell-test.c @@ -88,6 +88,19 @@ int main (int argc, char *argv[]) { int ret; + const char *xdg_data_dirs; + char **dirs; + char *schemas_dir; + + /* Save XDG_DATA_DIRS to set GSETTINGS_SCHEME_DIR, otherwise we + * won't find the sytem schemas. */ + xdg_data_dirs = g_getenv ("XDG_DATA_DIRS"); + dirs = g_strsplit (xdg_data_dirs, ":", -1); + /* We can only use one directory, so use the first one or the system default. */ + schemas_dir = g_build_filename (dirs[0] ? dirs[0] : "/usr/share", "glib-2.0", "schemas", NULL); + g_setenv ("GSETTINGS_SCHEMA_DIR", schemas_dir, TRUE); + g_strfreev (dirs); + g_free (schemas_dir); g_setenv ("XDG_DATA_DIRS", TEST_DIR, TRUE); g_setenv ("XDG_DATA_HOME", TEST_DIR, TRUE); |