Philip Withnall d951db4236 gobject: Add g_set_object() convenience function to set GObject pointers
Along the same lines as g_clear_object(), g_set_object() is a
convenience function to update a GObject pointer, handling reference
counting transparently and correctly.

Specifically, it handles the case where a pointer is set to its current
value. If handled naïvely, that could result in the object instance
being finalised. In the following code, that happens when
(my_obj == new_value) and the object has a single reference:
    g_clear_object (&my_obj);
    my_obj = g_object_ref (new_value);

It also simplifies boilerplate code such as set_property()
implementations, which are otherwise long and boring.

Test cases included.

https://bugzilla.gnome.org/show_bug.cgi?id=741589
2014-12-18 11:32:56 +00:00
..
2014-05-30 10:22:35 -04:00
2012-10-16 09:39:24 -04:00
2013-11-11 07:25:53 +01:00
2014-01-31 14:31:55 +01:00
2013-11-28 21:58:48 -05:00
2013-11-06 10:14:30 +01:00
2014-01-31 14:31:55 +01:00
2013-11-11 07:26:04 +01:00
2013-05-29 08:37:08 -04:00
2012-10-16 09:39:24 -04:00