[glib] GSettingsSchema: store a backref to the source
- From: Ryan Lortie <desrt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] GSettingsSchema: store a backref to the source
- Date: Sun, 27 Oct 2013 17:45:37 +0000 (UTC)
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]