diff options
Diffstat (limited to 'source/l/GConf/patches/0003-gsettings-data-convert-Warn-and-fix-invalid-schema-p.patch')
-rw-r--r-- | source/l/GConf/patches/0003-gsettings-data-convert-Warn-and-fix-invalid-schema-p.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/source/l/GConf/patches/0003-gsettings-data-convert-Warn-and-fix-invalid-schema-p.patch b/source/l/GConf/patches/0003-gsettings-data-convert-Warn-and-fix-invalid-schema-p.patch new file mode 100644 index 00000000..130c2bf3 --- /dev/null +++ b/source/l/GConf/patches/0003-gsettings-data-convert-Warn-and-fix-invalid-schema-p.patch @@ -0,0 +1,45 @@ +From 405f865c07261a95c8c9a09a84ab679c6dd0a330 Mon Sep 17 00:00:00 2001 +From: Colin Walters <walters@verbum.org> +Date: Thu, 24 Oct 2013 16:27:24 -0400 +Subject: [PATCH 03/11] gsettings-data-convert: Warn (and fix) invalid schema + paths + +See https://bugzilla.gnome.org/show_bug.cgi?id=704802 + +https://bugzilla.gnome.org/show_bug.cgi?id=710836 +--- + gsettings/gsettings-data-convert.c | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git a/gsettings/gsettings-data-convert.c b/gsettings/gsettings-data-convert.c +index 9b2d1d0..160ed41 100644 +--- a/gsettings/gsettings-data-convert.c ++++ b/gsettings/gsettings-data-convert.c +@@ -182,7 +182,23 @@ handle_file (const gchar *filename) + } + + if (schema_path[1] != NULL) +- settings = g_settings_new_with_path (schema_path[0], schema_path[1]); ++ { ++ char *compat_path_alloced = NULL; ++ char *compat_path; ++ /* Work around broken .convert files: ++ https://bugzilla.gnome.org/show_bug.cgi?id=704802 ++ */ ++ if (!g_str_has_suffix (schema_path[1], "/")) ++ { ++ g_warning ("Schema file '%s' has missing trailing / in '%s'", ++ filename, schema_path[1]); ++ compat_path = compat_path_alloced = g_strconcat (schema_path[1], "/", NULL); ++ } ++ else ++ compat_path = schema_path[1]; ++ settings = g_settings_new_with_path (schema_path[0], compat_path); ++ g_free (compat_path_alloced); ++ } + else + settings = g_settings_new (schema_path[0]); + +-- +2.6.4 + |