Signals are described in detail in <xref linkend="gobject-Signals"/>.
</para>
<para id="floating-ref">
-The initial reference a #GObject is created with is flagged as a
-<firstterm>floating</firstterm> reference.
+#GInitiallyUnowned is derived from #GObject. The only difference between
+the two is that the initial reference of a #GInitiallyUnowned is flagged
+as a <firstterm>floating</firstterm> reference.
This means that it is not specifically claimed to be "owned" by
any code portion. The main motivation for providing floating references is
-C convenience. In particular, it allowes code to be written as:
+C convenience. In particular, it allows code to be written as:
<example><programlisting>
container = create_container();
container_add_child (container, create_child());
For already sunken objects (objects that don't have a floating reference
anymore), g_object_ref_sink() is equivalent to g_object_ref() and returns
a new reference.
-Since floating references are useful allmost exclusively for C convenience,
+Since floating references are useful almost exclusively for C convenience,
language bindings that provide automated reference and memory ownership
maintenance (such as smart pointers or garbage collection) therefore don't
need to expose floating references in their API.
needed.
@notify: the class closure for the notify signal
+
<!-- ##### STRUCT GObjectConstructParam ##### -->
<para>
The <structname>GObjectConstructParam</structname> struct is an auxiliary
This function is intended for #GObject implementations to re-enforce a
<link linkend="floating-ref">floating</link> object reference.
Doing this is seldomly required, all
-#GObject<!-- -->s are created with a floating reference which usually
-just needs to be sunken by calling g_object_ref_sink().
+#GInitiallyUnowned<!-- -->s are created with a floating reference which
+usually just needs to be sunken by calling g_object_ref_sink().
</para>
@object: a #GObject