Merge branch '1849-g-set-object-docs' into 'master'

gobject: Clarify documentation and annotations of g_set_object()

Closes #1849

See merge request GNOME/glib!1753
This commit is contained in:
Sebastian Dröge 2020-11-14 21:33:46 +00:00
commit 94942bce2b

View File

@ -679,16 +679,16 @@ void g_clear_object (GObject **object_ptr);
/** /**
* g_set_object: (skip) * g_set_object: (skip)
* @object_ptr: a pointer to a #GObject reference * @object_ptr: (inout) (not optional) (nullable): a pointer to a #GObject reference
* @new_object: (nullable) (transfer none): a pointer to the new #GObject to * @new_object: (nullable) (transfer none): a pointer to the new #GObject to
* assign to it, or %NULL to clear the pointer * assign to @object_ptr, or %NULL to clear the pointer
* *
* Updates a #GObject pointer to refer to @new_object. It increments the * Updates a #GObject pointer to refer to @new_object. It increments the
* reference count of @new_object (if non-%NULL), decrements the reference * reference count of @new_object (if non-%NULL), decrements the reference
* count of the current value of @object_ptr (if non-%NULL), and assigns * count of the current value of @object_ptr (if non-%NULL), and assigns
* @new_object to @object_ptr. The assignment is not atomic. * @new_object to @object_ptr. The assignment is not atomic.
* *
* @object_ptr must not be %NULL. * @object_ptr must not be %NULL, but can point to a %NULL value.
* *
* A macro is also included that allows this function to be used without * A macro is also included that allows this function to be used without
* pointer casts. The function itself is static inline, so its address may vary * pointer casts. The function itself is static inline, so its address may vary