mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 23:16:14 +01:00
gsettings: Clarify ownership transfer in a few places
I was trying to debug some memory leaks in the gsettings test. Eventually, it seems that actually they’re caused by the GMemorySettingsBackend being cached by GIOModule — so this commit makes no functional changes. It should make the code and documentation a bit clearer though. Signed-off-by: Philip Withnall <withnall@endlessm.com>
This commit is contained in:
parent
9d89ed0c54
commit
f829b65e51
@ -1137,6 +1137,8 @@ g_settings_new_full (GSettingsSchema *schema,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Internal read/write utilities {{{1 */
|
/* Internal read/write utilities {{{1 */
|
||||||
|
|
||||||
|
/* @value will be sunk */
|
||||||
static gboolean
|
static gboolean
|
||||||
g_settings_write_to_backend (GSettings *settings,
|
g_settings_write_to_backend (GSettings *settings,
|
||||||
GSettingsSchemaKey *key,
|
GSettingsSchemaKey *key,
|
||||||
@ -1417,7 +1419,7 @@ g_settings_set_enum (GSettings *settings,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
success = g_settings_write_to_backend (settings, &skey, variant);
|
success = g_settings_write_to_backend (settings, &skey, g_steal_pointer (&variant));
|
||||||
g_settings_schema_key_clear (&skey);
|
g_settings_schema_key_clear (&skey);
|
||||||
|
|
||||||
return success;
|
return success;
|
||||||
@ -1528,7 +1530,7 @@ g_settings_set_flags (GSettings *settings,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
success = g_settings_write_to_backend (settings, &skey, variant);
|
success = g_settings_write_to_backend (settings, &skey, g_steal_pointer (&variant));
|
||||||
g_settings_schema_key_clear (&skey);
|
g_settings_schema_key_clear (&skey);
|
||||||
|
|
||||||
return success;
|
return success;
|
||||||
@ -1672,7 +1674,7 @@ g_settings_set (GSettings *settings,
|
|||||||
value = g_variant_new_va (format, NULL, &ap);
|
value = g_variant_new_va (format, NULL, &ap);
|
||||||
va_end (ap);
|
va_end (ap);
|
||||||
|
|
||||||
return g_settings_set_value (settings, key, value);
|
return g_settings_set_value (settings, key, g_steal_pointer (&value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -777,6 +777,8 @@ g_settings_backend_read_user_value (GSettingsBackend *backend,
|
|||||||
* to indicate that the affected keys have suddenly "changed back" to their
|
* to indicate that the affected keys have suddenly "changed back" to their
|
||||||
* old values.
|
* old values.
|
||||||
*
|
*
|
||||||
|
* If @value has a floating reference, it will be sunk.
|
||||||
|
*
|
||||||
* Returns: %TRUE if the write succeeded, %FALSE if the key was not writable
|
* Returns: %TRUE if the write succeeded, %FALSE if the key was not writable
|
||||||
*/
|
*/
|
||||||
gboolean
|
gboolean
|
||||||
|
@ -1472,6 +1472,7 @@ g_settings_schema_key_to_enum (GSettingsSchemaKey *key,
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Returns a new floating #GVariant. */
|
||||||
GVariant *
|
GVariant *
|
||||||
g_settings_schema_key_from_enum (GSettingsSchemaKey *key,
|
g_settings_schema_key_from_enum (GSettingsSchemaKey *key,
|
||||||
gint value)
|
gint value)
|
||||||
@ -1511,6 +1512,7 @@ g_settings_schema_key_to_flags (GSettingsSchemaKey *key,
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Returns a new floating #GVariant. */
|
||||||
GVariant *
|
GVariant *
|
||||||
g_settings_schema_key_from_flags (GSettingsSchemaKey *key,
|
g_settings_schema_key_from_flags (GSettingsSchemaKey *key,
|
||||||
guint value)
|
guint value)
|
||||||
|
Loading…
Reference in New Issue
Block a user