mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-12 15:36:17 +01:00
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
This commit is contained in:
parent
e462eda3d5
commit
0ef43ba743
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user