<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/glib.git/gobject/tests/reference.c, branch require-python34</title>
<subtitle>gitlab.gnome.org: GNOME/glib.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/'/>
<entry>
<title>gobject: Make g_clear_object take a non-volatile GObject **</title>
<updated>2018-07-12T07:47:40+00:00</updated>
<author>
<name>Iain Lane</name>
<email>iainl@gnome.org</email>
</author>
<published>2018-07-11T09:18:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=2aacef39b1cfe4cc5eade704db05ffe1516be22e'/>
<id>2aacef39b1cfe4cc5eade704db05ffe1516be22e</id>
<content type='text'>
The implementation is silently discarding this anyway, and
g_object_unref() is using atomic operations. So this should be safe.

Having this here triggers -Wdiscarded-qualifiers when g_clear_pointer()
is fixed to use __typeof__().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The implementation is silently discarding this anyway, and
g_object_unref() is using atomic operations. So this should be safe.

Having this here triggers -Wdiscarded-qualifiers when g_clear_pointer()
is fixed to use __typeof__().
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Merge branch 'type-safe-g-clear-pointer-1425' into 'master'"</title>
<updated>2018-07-11T21:52:31+00:00</updated>
<author>
<name>Emmanuele Bassi</name>
<email>ebassi@gmail.com</email>
</author>
<published>2018-07-11T21:52:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=d3881bb1bfff0002e9701be039f3c2d0af4ad203'/>
<id>d3881bb1bfff0002e9701be039f3c2d0af4ad203</id>
<content type='text'>
This reverts merge request !165</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts merge request !165</pre>
</div>
</content>
</entry>
<entry>
<title>gobject: Make g_clear_object take a non-volatile GObject **</title>
<updated>2018-07-11T09:52:53+00:00</updated>
<author>
<name>Iain Lane</name>
<email>iainl@gnome.org</email>
</author>
<published>2018-07-11T09:18:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=747c2f5720cee0c75188a9dd090942b0a9d7f52f'/>
<id>747c2f5720cee0c75188a9dd090942b0a9d7f52f</id>
<content type='text'>
The implementation is silently discarding this anyway, and
g_object_unref() is using atomic operations. So this should be safe.

Having this here triggers -Wdiscarded-qualifiers when g_clear_pointer()
is fixed to use __typeof__().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The implementation is silently discarding this anyway, and
g_object_unref() is using atomic operations. So this should be safe.

Having this here triggers -Wdiscarded-qualifiers when g_clear_pointer()
is fixed to use __typeof__().
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Fix use-after-free in reference tests</title>
<updated>2018-06-29T12:55:24+00:00</updated>
<author>
<name>Philip Withnall</name>
<email>withnall@endlessm.com</email>
</author>
<published>2018-06-27T08:59:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=e818089b70245c276295a7684100605f93899461'/>
<id>e818089b70245c276295a7684100605f93899461</id>
<content type='text'>
Switch the check which tests whether the object has been finalised from
being a use-after-free, to using a weak pointer which is nullified on
finalisation.

Signed-off-by: Philip Withnall &lt;withnall@endlessm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Switch the check which tests whether the object has been finalised from
being a use-after-free, to using a weak pointer which is nullified on
finalisation.

Signed-off-by: Philip Withnall &lt;withnall@endlessm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gobject: new g_set_weak_pointer() &amp; g_clear_weak_pointer() helpers</title>
<updated>2017-12-21T09:59:30+00:00</updated>
<author>
<name>Martin Blanchard</name>
<email>tchaik@gmx.com</email>
</author>
<published>2017-12-20T22:05:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=156d32cb8039f2b3df4af49550aaea4b9701d072'/>
<id>156d32cb8039f2b3df4af49550aaea4b9701d072</id>
<content type='text'>
Weak-pointers are currently lacking g_set_object() &amp; g_clear_object()
helpers equivalent. New functions (and macros, both are provided) are
convenient in many case, especially for the property's notify-on-set
pattern:

  if (g_set_weak_pointer (...))
    g_object_notify (...)

Inspired by Christian Hergert's original implementation for
gnome-builder.

https://bugzilla.gnome.org/show_bug.cgi?id=749527
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Weak-pointers are currently lacking g_set_object() &amp; g_clear_object()
helpers equivalent. New functions (and macros, both are provided) are
convenient in many case, especially for the property's notify-on-set
pattern:

  if (g_set_weak_pointer (...))
    g_object_notify (...)

Inspired by Christian Hergert's original implementation for
gnome-builder.

https://bugzilla.gnome.org/show_bug.cgi?id=749527
</pre>
</div>
</content>
</entry>
<entry>
<title>gobject: Add g_set_object() convenience function to set GObject pointers</title>
<updated>2014-12-18T11:32:56+00:00</updated>
<author>
<name>Philip Withnall</name>
<email>philip.withnall@collabora.co.uk</email>
</author>
<published>2014-12-16T11:29:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=d951db4236146efd8f4f343740d50433739526c8'/>
<id>d951db4236146efd8f4f343740d50433739526c8</id>
<content type='text'>
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 (&amp;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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 (&amp;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
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove g_type_init() calls</title>
<updated>2012-10-16T13:39:24+00:00</updated>
<author>
<name>Ryan Lortie</name>
<email>desrt@desrt.ca</email>
</author>
<published>2012-10-15T16:00:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=1dc774a653e992e1153fbed16f90097fa8db467f'/>
<id>1dc774a653e992e1153fbed16f90097fa8db467f</id>
<content type='text'>
Very many testcases, some GLib tools (resource compiler, etc) and
GApplication were calling g_type_init().

Remove those uses, as they are no longer required.

https://bugzilla.gnome.org/show_bug.cgi?id=686161
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Very many testcases, some GLib tools (resource compiler, etc) and
GApplication were calling g_type_init().

Remove those uses, as they are no longer required.

https://bugzilla.gnome.org/show_bug.cgi?id=686161
</pre>
</div>
</content>
</entry>
<entry>
<title>Add some tests for new object data api</title>
<updated>2012-09-02T19:09:13+00:00</updated>
<author>
<name>Matthias Clasen</name>
<email>mclasen@redhat.com</email>
</author>
<published>2012-08-29T03:56:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=2fa77fb76c452755fe5f2a1ebe10f27583959250'/>
<id>2fa77fb76c452755fe5f2a1ebe10f27583959250</id>
<content type='text'>
These are non-threaded, but the do test dup and destroy somewhat.

https://bugzilla.gnome.org/show_bug.cgi?id=682849
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are non-threaded, but the do test dup and destroy somewhat.

https://bugzilla.gnome.org/show_bug.cgi?id=682849
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests for toggle reference and qdata</title>
<updated>2012-04-23T12:20:22+00:00</updated>
<author>
<name>Matthias Clasen</name>
<email>mclasen@redhat.com</email>
</author>
<published>2012-04-23T12:19:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=e62102dbc5bd9f6fe905775fc19aea894ef7f8d4'/>
<id>e62102dbc5bd9f6fe905775fc19aea894ef7f8d4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove a check that triggers deprecation warnings</title>
<updated>2012-01-30T19:06:22+00:00</updated>
<author>
<name>Matthias Clasen</name>
<email>mclasen@redhat.com</email>
</author>
<published>2012-01-30T19:06:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=b01af10c86bece6271bdbda09c28d7a3b63d0709'/>
<id>b01af10c86bece6271bdbda09c28d7a3b63d0709</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
