glib/gobject
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
..
tests gobject: Add g_set_object() convenience function to set GObject pointers 2014-12-18 11:32:56 +00:00
.gitignore Stop using glib-genmarshal at build time 2011-06-20 17:24:07 -04:00
ChangeLog Update README files to refer to git 2009-03-31 19:39:16 -04:00
gatomicarray.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gatomicarray.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gbinding.c gbinding: warn on failed value transformation 2014-03-17 17:43:19 -04:00
gbinding.h GObject: Remove more leftover markup from headers 2014-03-07 06:10:36 -05:00
gboxed.c gobject: box GVariantDict 2014-02-04 12:24:19 +00:00
gboxed.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gclosure.c Fix typo 2014-07-05 20:27:58 -05:00
gclosure.h docs: Remove <!-- --> comment before plural s 2014-04-24 13:42:37 +02:00
genums.c Eradicate links and xrefs 2014-02-08 12:26:56 -05:00
genums.h Updated FSF's address 2014-01-31 14:31:55 +01:00
glib-genmarshal.c Updated FSF's address 2014-01-31 14:31:55 +01:00
glib-mkenums.in glib-mkenums: fix handling of forward enum declarations 2012-02-07 13:32:22 -05:00
glib-types.h gobject: box GVariantDict 2014-02-04 12:24:19 +00:00
gmarshal.c all: remove use of 'register' keyword 2014-06-28 13:07:52 -04:00
gmarshal.h gmarshal.h: replace "extern" with GLIB_AVAILABLE_IN_ALL 2013-01-13 13:13:55 -05:00
gmarshal.list Update the comment in gmarshal.list 2012-06-23 17:53:22 -04:00
gobject_probes.d Add missing semicolons to gobject_probes.d 2012-10-15 19:48:44 -04:00
gobject_trace.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gobject-query.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gobject.c Remove atomics from g_clear_object/g_clear_pointer 2014-07-30 15:11:01 +02:00
gobject.h gobject: Add g_set_object() convenience function to set GObject pointers 2014-12-18 11:32:56 +00:00
gobject.py Try to make gobject.py work with both pythons 2014-06-16 15:25:42 -04:00
gobject.rc.in Update the year in the *.rc.in files 2011-06-07 08:55:31 +08:00
gobject.stp.in Add dtrace and systemtap support for gobject 2010-05-27 14:51:41 -04:00
gobjectnotifyqueue.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gparam.c gparam: Remove unnecessary conditionals around preconditions 2014-06-12 13:38:27 -04:00
gparam.h gparam: Make the documentation clearer for CONSTRUCT_ONLY properties 2014-11-22 19:47:43 -08:00
gparamspecs.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gparamspecs.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gsignal.c gsignal: add a clarification to the docs 2014-11-28 16:22:16 -05:00
gsignal.h gsignal: Add an example to the g_signal_connect_swapped() documentation 2014-06-23 12:30:51 +01:00
gsourceclosure.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gsourceclosure.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gtype-private.h gobject: move _g_type_debug_flags from gtype.h to gtype-private.h 2014-06-28 14:00:32 -04:00
gtype.c Fix a return_if_fail confusion 2014-10-11 15:53:13 -04:00
gtype.h Add simple instance count facility 2014-10-11 13:54:29 -04:00
gtypemodule.c GObject: Convert docs to markdown 2014-02-01 10:22:45 -05:00
gtypemodule.h docs: Replace <function> XML tag with back ticks 2014-05-31 19:22:15 +01:00
gtypeplugin.c Annotate all examples with their language 2014-02-01 15:11:49 -05:00
gtypeplugin.h GObject: Remove more leftover markup from headers 2014-03-07 06:10:36 -05:00
gvalue.c gvalue: New g_value_init_from_instance 2014-06-24 14:21:10 -04:00
gvalue.h gvalue: New g_value_init_from_instance 2014-06-24 14:21:10 -04:00
gvaluearray.c Docs: Drop entities, switch away from sgml mode 2014-02-09 02:07:26 -05:00
gvaluearray.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gvaluecollector.h docs: Remove <!-- --> comment before plural s 2014-04-24 13:42:37 +02:00
gvaluetransform.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gvaluetypes.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gvaluetypes.h Updated FSF's address 2014-01-31 14:31:55 +01:00
libgobject-gdb.py.in Avoid shadowing the dir builtin 2010-12-03 14:08:36 -05:00
Makefile.am gobject: try to link with -Wl,-z,nodelete 2014-04-10 01:38:41 -04:00
makefile.msc.in gobject/: fully remove gobjectalias hacks 2010-07-07 19:40:48 -04:00
marshal-genstrings.pl Hacky script to fix up your .msc.in files on windows. Dunno if this is a 2001-08-04 15:49:55 +00:00