[glib] GSettingsSchema: store a backref to the source



commit 0ef43ba743d0b3d1f8c13cd7fc8e3abab5609c49
Author: Ryan Lortie <desrt desrt ca>
Date:   Sat Oct 26 18:50:39 2013 -0400

    GSettingsSchema: store a backref to the source
    
    Record in each GSettingsSchema object the source from which it came.
    
    This will be useful in future commits.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=668232

 gio/gsettingsschema.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/gio/gsettingsschema.c b/gio/gsettingsschema.c
index 26b6d48..cac5f71 100644
--- a/gio/gsettingsschema.c
+++ b/gio/gsettingsschema.c
@@ -138,6 +138,7 @@
  **/
 struct _GSettingsSchema
 {
+  GSettingsSchemaSource *source;
   const gchar *gettext_domain;
   const gchar *path;
   GQuark *items;
@@ -412,6 +413,7 @@ g_settings_schema_source_lookup (GSettingsSchemaSource *source,
     return NULL;
 
   schema = g_slice_new0 (GSettingsSchema);
+  schema->source = g_settings_schema_source_ref (source);
   schema->ref_count = 1;
   schema->id = g_strdup (schema_id);
   schema->table = table;
@@ -588,6 +590,7 @@ g_settings_schema_unref (GSettingsSchema *schema)
 {
   if (g_atomic_int_dec_and_test (&schema->ref_count))
     {
+      g_settings_schema_source_unref (schema->source);
       gvdb_table_unref (schema->table);
       g_free (schema->items);
       g_free (schema->id);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]