From 0cb72a1c70c91a7a662fb3e9435570c0050c5601 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 21 May 2010 22:22:55 +0000 Subject: [PATCH] Make batched writes work --- dconf-multi-write.patch | 24 ++++++++++++++++++++++++ dconf.spec | 10 ++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 dconf-multi-write.patch diff --git a/dconf-multi-write.patch b/dconf-multi-write.patch new file mode 100644 index 0000000..ba662bf --- /dev/null +++ b/dconf-multi-write.patch @@ -0,0 +1,24 @@ +diff -up dconf-0.3/gsettings/dconfdatabase.c.multi-write dconf-0.3/gsettings/dconfdatabase.c +--- dconf-0.3/gsettings/dconfdatabase.c.multi-write 2010-05-21 18:06:25.447432741 -0400 ++++ dconf-0.3/gsettings/dconfdatabase.c 2010-05-21 18:06:39.905682921 -0400 +@@ -364,7 +364,7 @@ dconf_database_write_tree (DConfDatabase + + message = + g_dbus_message_new_method_call ("ca.desrt.dconf", "/", +- "ca.desrt.dconf.Writer", "Write"); ++ "ca.desrt.dconf.Writer", "Merge"); + + g_variant_builder_init (&args, G_VARIANT_TYPE ("(sa(sav))")); + g_variant_builder_add (&args, "s", path); +diff -up dconf-0.3/service/service.c.multi-write dconf-0.3/service/service.c +--- dconf-0.3/service/service.c.multi-write 2010-05-19 10:42:03.000000000 -0400 ++++ dconf-0.3/service/service.c 2010-05-21 17:52:04.416434906 -0400 +@@ -204,7 +204,7 @@ method_call (GDBusConnection *conn + serial, key, none), + NULL); + } +- else if (strcmp (method_name, "Merge")) ++ else if (strcmp (method_name, "Merge") == 0) + { + GError *error = NULL; + const gchar *prefix; diff --git a/dconf.spec b/dconf.spec index 9f6d594..928c0af 100644 --- a/dconf.spec +++ b/dconf.spec @@ -1,6 +1,6 @@ Name: dconf Version: 0.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A configuration system Group: System Environment/Base @@ -11,8 +11,10 @@ Source0: http://download.gnome.org/sources/dconf/0.3/dconf-%{version}.tar BuildRequires: glib2-devel >= 2.25.6 Requires: dbus -# fix a case of needle/haystack confusion +# upstream fix for a case of needle/haystack confusion Patch0: dconf-query.patch +# upstream fix for batched writes +Patch1: dconf-multi-write.patch %description dconf is a low-level configuration system. Its main purpose is to provide a @@ -21,6 +23,7 @@ backend to the GSettings API in GLib. %prep %setup -q %patch0 -p1 -b .query +%patch1 -p1 -b .multi-write %build @@ -51,6 +54,9 @@ gio-querymodules-%{__isa_bits} %{_libdir}/gio/modules %changelog +* Fri May 21 2010 Matthias Clasen 0.3-3 +- Make batched writes (e.g. with delayed settings) work + * Thu May 20 2010 Matthias Clasen 0.3-2 - Make the registration of the backend work