summaryrefslogtreecommitdiffstats
path: root/source/l/GConf/patches
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/GConf/patches')
-rw-r--r--source/l/GConf/patches/0001-mconvert-enable-recursive-scheme-lookup-and-fix-a-cr.patch49
-rw-r--r--source/l/GConf/patches/0002-dbus-Don-t-spew-to-console-when-unable-to-connect-to.patch87
-rw-r--r--source/l/GConf/patches/0003-gsettings-data-convert-Warn-and-fix-invalid-schema-p.patch45
-rw-r--r--source/l/GConf/patches/0011-Fix-some-compiler-warnings.patch303
4 files changed, 484 insertions, 0 deletions
diff --git a/source/l/GConf/patches/0001-mconvert-enable-recursive-scheme-lookup-and-fix-a-cr.patch b/source/l/GConf/patches/0001-mconvert-enable-recursive-scheme-lookup-and-fix-a-cr.patch
new file mode 100644
index 000000000..7d3a11595
--- /dev/null
+++ b/source/l/GConf/patches/0001-mconvert-enable-recursive-scheme-lookup-and-fix-a-cr.patch
@@ -0,0 +1,49 @@
+From 98ff7acca7595f508b094506195aeffaf2e8b74c Mon Sep 17 00:00:00 2001
+From: Stefan Sauer <ensonic@users.sf.net>
+Date: Wed, 23 Jan 2013 08:11:18 +0100
+Subject: [PATCH 01/11] mconvert: enable recursive scheme lookup and fix a
+ crasher
+
+The recursive scheme lookup is needed to scan the whole settings path. The crash
+would happen in the case of a misconfiguration (e.g. building gconf from source
+and running uninstalled while the configure settings don't match the one used to
+create the installed package).
+---
+ gsettings/gsettings-data-convert.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/gsettings/gsettings-data-convert.c b/gsettings/gsettings-data-convert.c
+index a8af942..9b2d1d0 100644
+--- a/gsettings/gsettings-data-convert.c
++++ b/gsettings/gsettings-data-convert.c
+@@ -22,6 +22,7 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <stdlib.h>
+ #include <unistd.h>
+ #include <errno.h>
+
+@@ -90,6 +91,10 @@ get_writable_client (void)
+ GSList *addresses;
+
+ addresses = get_writable_source_path ();
++ if (!addresses) {
++ g_printf("No writable gconf locations found\n");
++ exit (1);
++ }
+ engine = gconf_engine_get_local_for_addresses (addresses, NULL);
+ gconf_address_list_free (addresses);
+
+@@ -155,7 +160,7 @@ handle_file (const gchar *filename)
+
+ schema_path = g_strsplit (groups[i], ":", 2);
+
+- schema = g_settings_schema_source_lookup (source, schema_path[0], FALSE);
++ schema = g_settings_schema_source_lookup (source, schema_path[0], TRUE);
+ if (schema == NULL)
+ {
+ if (verbose)
+--
+2.6.4
+
diff --git a/source/l/GConf/patches/0002-dbus-Don-t-spew-to-console-when-unable-to-connect-to.patch b/source/l/GConf/patches/0002-dbus-Don-t-spew-to-console-when-unable-to-connect-to.patch
new file mode 100644
index 000000000..25dc4456c
--- /dev/null
+++ b/source/l/GConf/patches/0002-dbus-Don-t-spew-to-console-when-unable-to-connect-to.patch
@@ -0,0 +1,87 @@
+From b0895e1998ebc83ab030ec0f17c0685439f5b404 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com>
+Date: Mon, 15 Apr 2013 09:57:34 -0400
+Subject: [PATCH 02/11] dbus: Don't spew to console when unable to connect to
+ dbus daemon
+
+Instead pass the error up for the caller to decide what to do.
+
+This prevent untrappable warning messages from showing up at the
+console if gconftool --makefile-install-rule is called.
+---
+ gconf/gconf-dbus.c | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/gconf/gconf-dbus.c b/gconf/gconf-dbus.c
+index 5610fcf..048e3ea 100644
+--- a/gconf/gconf-dbus.c
++++ b/gconf/gconf-dbus.c
+@@ -105,7 +105,7 @@ static GHashTable *engines_by_db = NULL;
+ static GHashTable *engines_by_address = NULL;
+ static gboolean dbus_disconnected = FALSE;
+
+-static gboolean ensure_dbus_connection (void);
++static gboolean ensure_dbus_connection (GError **error);
+ static gboolean ensure_service (gboolean start_if_not_found,
+ GError **err);
+ static gboolean ensure_database (GConfEngine *conf,
+@@ -383,7 +383,7 @@ gconf_engine_detach (GConfEngine *conf)
+ }
+
+ static gboolean
+-ensure_dbus_connection (void)
++ensure_dbus_connection (GError **err)
+ {
+ DBusError error;
+
+@@ -392,7 +392,9 @@ ensure_dbus_connection (void)
+
+ if (dbus_disconnected)
+ {
+- g_warning ("The connection to DBus was broken. Can't reinitialize it.");
++ g_set_error (err, GCONF_ERROR,
++ GCONF_ERROR_NO_SERVER,
++ "The connection to DBus was broken. Can't reinitialize it.");
+ return FALSE;
+ }
+
+@@ -402,7 +404,10 @@ ensure_dbus_connection (void)
+
+ if (!global_conn)
+ {
+- g_warning ("Client failed to connect to the D-BUS daemon:\n%s", error.message);
++ g_set_error (err, GCONF_ERROR,
++ GCONF_ERROR_NO_SERVER,
++ "Client failed to connect to the D-BUS daemon:\n%s",
++ error.message);
+
+ dbus_error_free (&error);
+ return FALSE;
+@@ -431,13 +436,8 @@ ensure_service (gboolean start_if_not_found,
+
+ if (global_conn == NULL)
+ {
+- if (!ensure_dbus_connection ())
+- {
+- g_set_error (err, GCONF_ERROR,
+- GCONF_ERROR_NO_SERVER,
+- _("No D-BUS daemon running\n"));
+- return FALSE;
+- }
++ if (!ensure_dbus_connection (err))
++ return FALSE;
+
+ g_assert (global_conn != NULL);
+ }
+@@ -2512,7 +2512,7 @@ gconf_ping_daemon (void)
+ {
+ if (global_conn == NULL)
+ {
+- if (!ensure_dbus_connection ())
++ if (!ensure_dbus_connection (NULL))
+ {
+ return FALSE;
+ }
+--
+2.6.4
+
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 000000000..130c2bf35
--- /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
+
diff --git a/source/l/GConf/patches/0011-Fix-some-compiler-warnings.patch b/source/l/GConf/patches/0011-Fix-some-compiler-warnings.patch
new file mode 100644
index 000000000..7595b3fa9
--- /dev/null
+++ b/source/l/GConf/patches/0011-Fix-some-compiler-warnings.patch
@@ -0,0 +1,303 @@
+From 0780809731c8ab1c364202b1900d3df106b28626 Mon Sep 17 00:00:00 2001
+From: Robert Ancell <robert.ancell@canonical.com>
+Date: Wed, 14 Oct 2015 10:09:49 +0100
+Subject: [PATCH 11/11] Fix some compiler warnings
+
+---
+ backends/markup-tree.c | 3 +--
+ backends/xml-entry.c | 11 ++++-------
+ backends/xml-test.c | 4 +---
+ defaults/gconf-defaults-main.c | 4 +---
+ defaults/gconf-defaults.c | 5 +----
+ examples/basic-gconf-app.c | 10 +++++-----
+ examples/complex-gconf-app.c | 6 +++---
+ gconf/gconf-client.c | 2 --
+ gconf/gconf-internals.c | 2 --
+ gconf/gconfd.c | 4 ----
+ gconf/gconftool.c | 2 --
+ gconf/testgconfclient.c | 4 ++--
+ gsettings/gsettings-data-convert.c | 2 --
+ 13 files changed, 18 insertions(+), 41 deletions(-)
+
+diff --git a/backends/markup-tree.c b/backends/markup-tree.c
+index 4857cae..be975f4 100644
+--- a/backends/markup-tree.c
++++ b/backends/markup-tree.c
+@@ -3116,11 +3116,10 @@ parse_li_element (GMarkupParseContext *context,
+ ParseInfo *info,
+ GError **error)
+ {
+- ParseState current_state;
+ GConfValue *value;
+ GConfValue *list;
+
+- current_state = peek_state (info);
++ peek_state (info);
+
+ push_state (info, STATE_LI);
+
+diff --git a/backends/xml-entry.c b/backends/xml-entry.c
+index 738883f..129c032 100644
+--- a/backends/xml-entry.c
++++ b/backends/xml-entry.c
+@@ -498,10 +498,8 @@ node_set_schema_value(xmlNodePtr node,
+
+ if (gconf_schema_get_long_desc (sc))
+ {
+- xmlNodePtr ld_node;
+-
+- ld_node = xmlNewChild(found, NULL, (xmlChar *)"longdesc",
+- (xmlChar *)gconf_schema_get_long_desc (sc));
++ xmlNewChild(found, NULL, (xmlChar *)"longdesc",
++ (xmlChar *)gconf_schema_get_long_desc (sc));
+ }
+ }
+
+@@ -536,7 +534,6 @@ node_set_value(xmlNodePtr node, GConfValue* value)
+ break;
+ case GCONF_VALUE_STRING:
+ {
+- xmlNodePtr child;
+ xmlChar* encoded;
+
+ free_childs(node);
+@@ -544,8 +541,8 @@ node_set_value(xmlNodePtr node, GConfValue* value)
+ encoded = xmlEncodeEntitiesReentrant(node->doc,
+ (xmlChar *)gconf_value_get_string(value));
+
+- child = xmlNewChild(node, NULL, (xmlChar *)"stringvalue",
+- encoded);
++ xmlNewChild(node, NULL, (xmlChar *)"stringvalue",
++ encoded);
+ xmlFree(encoded);
+ }
+ break;
+diff --git a/backends/xml-test.c b/backends/xml-test.c
+index 687d558..a57fc00 100644
+--- a/backends/xml-test.c
++++ b/backends/xml-test.c
+@@ -33,9 +33,7 @@ GConfBackendVTable* gconf_backend_get_vtable (void);
+ int
+ main (int argc, char **argv)
+ {
+- GConfBackendVTable *vtable;
+-
+- vtable = gconf_backend_get_vtable ();
++ gconf_backend_get_vtable ();
+
+ xml_test_entry ();
+ xml_test_dir ();
+diff --git a/defaults/gconf-defaults-main.c b/defaults/gconf-defaults-main.c
+index 7ed7700..aad76c3 100644
+--- a/defaults/gconf-defaults-main.c
++++ b/defaults/gconf-defaults-main.c
+@@ -107,7 +107,6 @@ get_system_bus (void)
+ {
+ GError *error;
+ DBusGConnection *bus;
+- DBusConnection *connection;
+
+ error = NULL;
+ bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
+@@ -117,7 +116,7 @@ get_system_bus (void)
+ goto out;
+ }
+
+- connection = dbus_g_connection_get_connection (bus);
++ dbus_g_connection_get_connection (bus);
+ out:
+ return bus;
+ }
+@@ -162,7 +161,6 @@ main (int argc, char **argv)
+ g_thread_init (NULL);
+ }
+ dbus_g_thread_init ();
+- g_type_init ();
+
+ options = g_option_context_new (NULL);
+ g_option_context_add_main_entries (options, entries, NULL);
+diff --git a/defaults/gconf-defaults.c b/defaults/gconf-defaults.c
+index b84c632..76aa7e9 100644
+--- a/defaults/gconf-defaults.c
++++ b/defaults/gconf-defaults.c
+@@ -156,9 +156,6 @@ gconf_defaults_constructor (GType type,
+ GObjectConstructParam *construct_properties)
+ {
+ GConfDefaults *mechanism;
+- GConfDefaultsClass *klass;
+-
+- klass = GCONF_DEFAULTS_CLASS (g_type_class_peek (GCONF_TYPE_DEFAULTS));
+
+ mechanism = GCONF_DEFAULTS (G_OBJECT_CLASS (gconf_defaults_parent_class)->constructor (
+ type,
+@@ -228,7 +225,7 @@ register_mechanism (GConfDefaults *mechanism)
+ {
+ GError *error = NULL;
+
+- mechanism->priv->auth = polkit_authority_get ();
++ mechanism->priv->auth = polkit_authority_get_sync (NULL, NULL);
+
+ error = NULL;
+ mechanism->priv->system_bus_connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
+diff --git a/examples/basic-gconf-app.c b/examples/basic-gconf-app.c
+index a866520..3045ff9 100644
+--- a/examples/basic-gconf-app.c
++++ b/examples/basic-gconf-app.c
+@@ -289,7 +289,7 @@ create_main_window (GConfClient *client)
+
+ gtk_window_set_title (GTK_WINDOW (w), "basic-gconf-app Main Window");
+
+- vbox = gtk_vbox_new (FALSE, 5);
++ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+
+ gtk_container_add (GTK_CONTAINER (w), vbox);
+
+@@ -375,7 +375,7 @@ create_config_entry (GtkWidget *prefs_dialog,
+ GtkWidget *label;
+ char *str;
+
+- hbox = gtk_hbox_new (FALSE, 5);
++ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+
+ label = gtk_label_new (config_key);
+
+@@ -437,7 +437,7 @@ create_prefs_dialog (GtkWidget *parent,
+ dialog = gtk_dialog_new_with_buttons ("basic-gconf-app Preferences",
+ GTK_WINDOW (parent),
+ 0,
+- GTK_STOCK_CLOSE,
++ "_Close",
+ GTK_RESPONSE_ACCEPT,
+ NULL);
+
+@@ -451,11 +451,11 @@ create_prefs_dialog (GtkWidget *parent,
+ /* resizing doesn't grow the entries anyhow */
+ gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
+
+- vbox = gtk_vbox_new (FALSE, 5);
++ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+
+ gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
+
+- gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area(dialog)),
++ gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
+ vbox, TRUE, TRUE, 0);
+
+ entry = create_config_entry (dialog, client, "/apps/basic-gconf-app/foo",
+diff --git a/examples/complex-gconf-app.c b/examples/complex-gconf-app.c
+index 567989c..0702673 100644
+--- a/examples/complex-gconf-app.c
++++ b/examples/complex-gconf-app.c
+@@ -246,7 +246,7 @@ create_main_window(GConfClient* client)
+
+ w = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+
+- vbox = gtk_vbox_new(FALSE, 10);
++ vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
+
+ gtk_container_add(GTK_CONTAINER(w), vbox);
+
+@@ -620,9 +620,9 @@ create_prefs_dialog(GtkWidget* parent, GConfClient* client)
+
+ bbox = gtk_hbutton_box_new();
+
+- vbox_outer = gtk_vbox_new(FALSE, 10);
++ vbox_outer = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
+
+- vbox_inner = gtk_vbox_new(FALSE, 10);
++ vbox_inner = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
+
+ gtk_container_add(GTK_CONTAINER(dialog), vbox_outer);
+
+diff --git a/gconf/gconf-client.c b/gconf/gconf-client.c
+index 16be032..3c8ba50 100644
+--- a/gconf/gconf-client.c
++++ b/gconf/gconf-client.c
+@@ -442,8 +442,6 @@ notify_from_server_callback (GConfEngine* conf, guint cnxn_id,
+ * #GConfClient, this function returns the same one they're using, but
+ * with the reference count incremented. So you have to unref either way.
+ *
+- * It's important to call g_type_init() before using this GObject, to initialize the type system.
+- *
+ * Return value: (transfer full): a new #GConfClient. g_object_unref() when you're done.
+ */
+ GConfClient*
+diff --git a/gconf/gconf-internals.c b/gconf/gconf-internals.c
+index 1b4452a..ecb3179 100644
+--- a/gconf/gconf-internals.c
++++ b/gconf/gconf-internals.c
+@@ -2483,8 +2483,6 @@ get_ior (gboolean start_if_not_found,
+ return NULL;
+ }
+
+- g_type_init ();
+-
+ connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+ if (connection == NULL) {
+ if (failure_log)
+diff --git a/gconf/gconfd.c b/gconf/gconfd.c
+index 1ed3d08..97647b5 100644
+--- a/gconf/gconfd.c
++++ b/gconf/gconfd.c
+@@ -682,10 +682,6 @@ system_bus_message_handler (DBusConnection *connection,
+ DBusMessage *message,
+ void *user_data)
+ {
+- DBusMessage *reply;
+-
+- reply = NULL;
+-
+ if (dbus_message_is_signal (message,
+ "org.gnome.GConf.Defaults",
+ "SystemSet"))
+diff --git a/gconf/gconftool.c b/gconf/gconftool.c
+index 94274af..1f09601 100644
+--- a/gconf/gconftool.c
++++ b/gconf/gconftool.c
+@@ -578,8 +578,6 @@ main (int argc, char** argv)
+ bindtextdomain (GETTEXT_PACKAGE,GCONF_LOCALE_DIR);
+ textdomain (GETTEXT_PACKAGE);
+
+- g_thread_init (NULL);
+-
+ _gconf_init_i18n ();
+
+ context = g_option_context_new (N_("- Tool to manipulate a GConf configuration"));
+diff --git a/gconf/testgconfclient.c b/gconf/testgconfclient.c
+index 7058bbb..f17b85f 100644
+--- a/gconf/testgconfclient.c
++++ b/gconf/testgconfclient.c
+@@ -131,7 +131,7 @@ entry_attached_to(GConfClient* client, const gchar* key)
+ G_CALLBACK(entry_destroyed_callback),
+ client);
+
+- hbox = gtk_hbox_new(FALSE, 10);
++ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10);
+
+ label = gtk_label_new(key);
+
+@@ -268,7 +268,7 @@ create_controls(GConfClient* client)
+ g_signal_connect(G_OBJECT(win), "destroy",
+ G_CALLBACK(destroy_callback), client);
+
+- vbox = gtk_vbox_new(FALSE, 10);
++ vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
+
+ gtk_container_add(GTK_CONTAINER(win), vbox);
+
+diff --git a/gsettings/gsettings-data-convert.c b/gsettings/gsettings-data-convert.c
+index 160ed41..ced04c7 100644
+--- a/gsettings/gsettings-data-convert.c
++++ b/gsettings/gsettings-data-convert.c
+@@ -638,8 +638,6 @@ main (int argc, char *argv[])
+ { NULL }
+ };
+
+- g_type_init();
+-
+ context = g_option_context_new ("");
+
+ g_option_context_set_summary (context,
+--
+2.6.4
+