Hello community,

here is the log from the commit of package dconf for openSUSE:Factory checked 
in at 2014-06-18 07:47:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dconf (Old)
 and      /work/SRC/openSUSE:Factory/.dconf.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dconf"

Changes:
--------
--- /work/SRC/openSUSE:Factory/dconf/dconf.changes      2014-05-05 
21:14:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.dconf.new/dconf.changes 2014-06-18 
07:47:55.000000000 +0200
@@ -1,0 +2,14 @@
+Fri Jun 13 09:55:39 UTC 2014 - [email protected]
+
+- Add category X-GNOME-SystemSettings to dconf-editor.desktop so
+  that gnome-control-center can recongnize and show it
+  (bnc#866235).
+
+-------------------------------------------------------------------
+Tue Jun  3 18:19:03 UTC 2014 - [email protected]
+
+- Add dconf-use-g_settings_get_default_value.patch: Display
+  correct default value when a custom database is in use
+  (bnc#873225)
+
+-------------------------------------------------------------------

New:
----
  dconf-use-g_settings_get_default_value.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dconf.spec ++++++
--- /var/tmp/diff_new_pack.LXXQt6/_old  2014-06-18 07:47:56.000000000 +0200
+++ /var/tmp/diff_new_pack.LXXQt6/_new  2014-06-18 07:47:56.000000000 +0200
@@ -25,6 +25,8 @@
 Url:            http://live.gnome.org/dconf
 Source:         
http://download.gnome.org/sources/dconf/0.20/%{name}-%{version}.tar.xz
 Source99:       baselibs.conf
+# PATCH-FIX-UPSTREAM dconf-use-g_settings_get_default_value.patch bnc#873225 
bgo#668234 [email protected] -- Have editor display correct default value when an 
administrator has a custom database.
+Patch0:         dconf-use-g_settings_get_default_value.patch
 # For directory ownership
 BuildRequires:  dbus-1
 BuildRequires:  docbook-xsl-stylesheets
@@ -127,6 +129,7 @@
 %lang_package
 %prep
 %setup -q
+%patch0 -p1
 
 %if 0%{?BUILD_FROM_VCS}
 [ -x ./autogen.sh ] && NOCONFIGURE=1 ./autogen.sh
@@ -143,7 +146,7 @@
 %install
 %makeinstall
 find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
-%suse_update_desktop_file 
%{buildroot}%{_datadir}/applications/dconf-editor.desktop SystemSetup
+%suse_update_desktop_file 
%{buildroot}%{_datadir}/applications/dconf-editor.desktop SystemSetup 
X-GNOME-SystemSettings
 mkdir -p %{buildroot}%{_sysconfdir}/dconf/{profile,db}
 %find_lang %{name}
 

++++++ dconf-use-g_settings_get_default_value.patch ++++++
>From f6bf1516b480ceb13b54ac401b45426e4bc8ed6d Mon Sep 17 00:00:00 2001
From: Mike Gorse <[email protected]>
Date: Thu, 1 May 2014 12:56:11 -0500
Subject: [PATCH] Use g_settings_get_default_value() to retrieve default values

GSettings now has an API to retrieve a default value, and using it is
more reliable than parsing the schema ourselves.

https://bugzilla.gnome.org/show_bug.cgi?id=668234
---
 editor/dconf-editor.vala |  5 ++-
 editor/dconf-model.vala  |  7 ++++-
 editor/dconf-schema.vala | 80 +-----------------------------------------------
 3 files changed, 11 insertions(+), 81 deletions(-)

diff --git a/editor/dconf-editor.vala b/editor/dconf-editor.vala
index 671b9b5..467a6c6 100644
--- a/editor/dconf-editor.vala
+++ b/editor/dconf-editor.vala
@@ -223,7 +223,10 @@ class ConfigurationEditor : Gtk.Application
             if (selected_key.schema != null)
             {
                 var gettext_domain = selected_key.schema.gettext_domain;
+                Settings settings;
+
                 schema_name = selected_key.schema.schema.id;
+                settings = new Settings (schema_name);
                 if (selected_key.schema.summary != null)
                     summary = selected_key.schema.summary;
                 if (gettext_domain != null && summary != "")
@@ -233,7 +236,7 @@ class ConfigurationEditor : Gtk.Application
                 if (gettext_domain != null && description != "")
                     description = dgettext(gettext_domain, description);
                 type = key_to_description(selected_key);
-                default_value = selected_key.schema.default_value.print(false);
+                default_value = settings.get_default_value 
(((Key)(iter.user_data)).name).print(false);
             }
             else
             {
diff --git a/editor/dconf-model.vala b/editor/dconf-model.vala
index 8b43d60..ae25f86 100644
--- a/editor/dconf-model.vala
+++ b/editor/dconf-model.vala
@@ -37,6 +37,7 @@ public class Key : GLib.Object
     }
 
     private Variant? _value;
+    private Variant? _default_value;
     public Variant value
     {
         get
@@ -45,7 +46,11 @@ public class Key : GLib.Object
             if (_value != null)
                 return _value;
             else
-                return schema.default_value;
+            {
+                var settings = new Settings (schema.schema.id);
+                _default_value = settings.get_default_value (name);
+                return _default_value;
+            }
         }
         set
         {
diff --git a/editor/dconf-schema.vala b/editor/dconf-schema.vala
index fd35fb2..862eff3 100644
--- a/editor/dconf-schema.vala
+++ b/editor/dconf-schema.vala
@@ -3,7 +3,6 @@ public class SchemaKey
     public Schema schema;
     public string name;
     public string type;
-    public Variant default_value;
     public SchemaValueRange? range;
     public SchemaValueRange type_range;
     public List<SchemaChoice> choices;
@@ -40,18 +39,7 @@ public class SchemaKey
 
         for (var child = node->children; child != null; child = child->next)
         {
-            if (child->name == "default")
-            {
-                try
-                {
-                    default_value = Variant.parse(new VariantType(type), 
child->get_content());
-                }
-                catch (VariantParseError e)
-                {
-                    // ...
-                }
-            }
-            else if (child->name == "summary")
+            if (child->name == "summary")
                 summary = child->get_content();
             else if (child->name == "description")
                 description = child->get_content();
@@ -129,9 +117,6 @@ public class SchemaKey
             else if (child->type != Xml.ElementType.TEXT_NODE && child->type 
!= Xml.ElementType.COMMENT_NODE)
                 warning ("Unknown child tag in <key>, <%s>", child->name);
         }
-
-        //if (default_value == null)
-        //    ?
     }
 }
 
@@ -248,9 +233,6 @@ public class SchemaEnum
             else if (child->type != Xml.ElementType.TEXT_NODE && child->type 
!= Xml.ElementType.COMMENT_NODE)
                 warning ("Unknown tag in <enum>, <%s>", child->name);
         }
-        
-        //if (default_value == null)
-        //    ?
     }
 }
 
@@ -301,9 +283,6 @@ public class SchemaFlags
             else if (child->type != Xml.ElementType.TEXT_NODE && child->type 
!= Xml.ElementType.COMMENT_NODE)
                 warning ("Unknown tag in <flags>, <%s>", child->name);
         }
-        
-        //if (default_value == null)
-        //    ?
     }
 }
 
@@ -407,53 +386,6 @@ public class SchemaList
         delete doc;
     }
 
-    public void parse_override(string path)
-    {
-        var keyfile = new KeyFile();
-        try
-        {
-            keyfile.load_from_file(path, KeyFileFlags.NONE);
-        }
-        catch (Error e)
-        {
-            warning("Failed to load override file %s: %s", path, e.message);
-            return;
-        }
-
-        foreach (var group in keyfile.get_groups())
-        {
-            var schema = schemas.lookup(group);
-            if (schema == null)
-                continue;
-
-            string[] keys;
-            try { keys = keyfile.get_keys(group); } catch (Error e) { 
continue; }
-
-            foreach (var key_name in keys)
-            {
-                string value;
-                try { value = keyfile.get_value(group, key_name); } catch 
(Error e) { continue; }
-
-                var key = schema.keys.lookup (key_name);
-                if (key == null)
-                    continue;
-
-                Variant default_value;
-                try
-                {
-                    default_value = Variant.parse(new VariantType(key.type), 
value);
-                }
-                catch (VariantParseError e)
-                {
-                    // ...
-                    continue;
-                }
-
-                key.default_value = default_value;
-            }
-        }
-    }
-
     public void load_directory(string dir) throws Error
     {
         var directory = File.new_for_path(dir);
@@ -471,15 +403,5 @@ public class SchemaList
         }
 
         i = directory.enumerate_children (FileAttribute.STANDARD_NAME, 0, 
null);
-        while (true)
-        {
-            var info = i.next_file (null);
-            if (info == null)
-                break;
-            var name = info.get_name();
-
-            if (name.has_suffix(".override"))
-                parse_override(Path.build_filename(dir, name, null));
-        }
     }
 }
-- 
1.8.4

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to