<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/pygobject.git/gi/pygi-boxed.c, branch pygobject-3-32</title>
<subtitle>gitlab.gnome.org: GNOME/pygobject.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/pygobject.git/'/>
<entry>
<title>Remove GObject.Value.__del__</title>
<updated>2019-01-15T15:42:36+00:00</updated>
<author>
<name>Christoph Reiter</name>
<email>reiter.christoph@gmail.com</email>
</author>
<published>2019-01-15T14:38:20+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/pygobject.git/commit/?id=c9f127b8121f3a94eb07bb6e1c95f6f01abe8cb2'/>
<id>c9f127b8121f3a94eb07bb6e1c95f6f01abe8cb2</id>
<content type='text'>
We can move this into tp_dealloc now.
Only call unset() in the slice allocate case since g_boxed_free() will
do it anyway.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We can move this into tp_dealloc now.
Only call unset() in the slice allocate case since g_boxed_free() will
do it anyway.
</pre>
</div>
</content>
</entry>
<entry>
<title>boxed: remove __del__ implementation and free in tp_dealloc</title>
<updated>2019-01-15T14:43:42+00:00</updated>
<author>
<name>Christoph Reiter</name>
<email>reiter.christoph@gmail.com</email>
</author>
<published>2019-01-15T13:45:55+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/pygobject.git/commit/?id=22656c4bc33e62aa8387df7accb73ad95fc8e8e9'/>
<id>22656c4bc33e62aa8387df7accb73ad95fc8e8e9</id>
<content type='text'>
This allows us to assume that the wrapper is always valid and remove
the _is_valid attribute.

One difference now is that g_boxed_free() is called when the wrapper can no longer
be used and that breaks the custom glib sources where g_boxed_free() triggers
the finalize callback which tries to call into a method of the wrapper.

To work around this provide a _clear_boxed() method which allows the wrapper
to free the underlying boxed in __del__ where the wrapper is still usable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows us to assume that the wrapper is always valid and remove
the _is_valid attribute.

One difference now is that g_boxed_free() is called when the wrapper can no longer
be used and that breaks the custom glib sources where g_boxed_free() triggers
the finalize callback which tries to call into a method of the wrapper.

To work around this provide a _clear_boxed() method which allows the wrapper
to free the underlying boxed in __del__ where the wrapper is still usable.
</pre>
</div>
</content>
</entry>
<entry>
<title>boxed: don't look up the gtype in tp_dealloc, we already know it</title>
<updated>2019-01-15T14:43:31+00:00</updated>
<author>
<name>Christoph Reiter</name>
<email>reiter.christoph@gmail.com</email>
</author>
<published>2019-01-15T12:53:52+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/pygobject.git/commit/?id=012973c4064a622e0d9a886464192cc97283360d'/>
<id>012973c4064a622e0d9a886464192cc97283360d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>boxed: hide the PyGIBoxed struct</title>
<updated>2019-01-15T12:50:21+00:00</updated>
<author>
<name>Christoph Reiter</name>
<email>reiter.christoph@gmail.com</email>
</author>
<published>2019-01-15T12:50:21+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/pygobject.git/commit/?id=68b4dae33d487a1d545581c13e26f7244c358138'/>
<id>68b4dae33d487a1d545581c13e26f7244c358138</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't crash on multiple calls to GObject.Value.__del__. See !66</title>
<updated>2018-05-04T19:35:02+00:00</updated>
<author>
<name>Christoph Reiter</name>
<email>reiter.christoph@gmail.com</email>
</author>
<published>2018-05-04T19:29:13+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/pygobject.git/commit/?id=dd2a6c36b2a8960d05b81d46fb6b1cc063222497'/>
<id>dd2a6c36b2a8960d05b81d46fb6b1cc063222497</id>
<content type='text'>
After chaining up accessing anything on the instance will crash like
accessing self.g_type in this case. Guard against that by exposing if the
wrapped boxed is still there.

Ideally we shouldn't invalidate the object in __del__, but various
things depend on it atm. For another time..
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After chaining up accessing anything on the instance will crash like
accessing self.g_type in this case. Guard against that by exposing if the
wrapped boxed is still there.

Ideally we shouldn't invalidate the object in __del__, but various
things depend on it atm. For another time..
</pre>
</div>
</content>
</entry>
<entry>
<title>pypy: pass a warning subclass to PyErr_Warn and not an exception, pypy does't support that.</title>
<updated>2018-04-22T19:47:34+00:00</updated>
<author>
<name>Christoph Reiter</name>
<email>reiter.christoph@gmail.com</email>
</author>
<published>2018-04-22T19:28:08+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/pygobject.git/commit/?id=a2c8c533a791375a8ba337e6200672bd04914c08'/>
<id>a2c8c533a791375a8ba337e6200672bd04914c08</id>
<content type='text'>
TypeError is wrong there anyway.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
TypeError is wrong there anyway.
</pre>
</div>
</content>
</entry>
<entry>
<title>Port more integer converters</title>
<updated>2018-03-31T08:16:24+00:00</updated>
<author>
<name>Christoph Reiter</name>
<email>reiter.christoph@gmail.com</email>
</author>
<published>2018-03-31T08:13:37+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/pygobject.git/commit/?id=515fe7b2cb2603b08af263a92a9ea82525bd2ac1'/>
<id>515fe7b2cb2603b08af263a92a9ea82525bd2ac1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>pygi-boxed: clean up function names</title>
<updated>2018-03-31T08:16:20+00:00</updated>
<author>
<name>Christoph Reiter</name>
<email>reiter.christoph@gmail.com</email>
</author>
<published>2018-03-31T05:55:38+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/pygobject.git/commit/?id=55cc485fb5b9ff41d3aa63a2023390a120ad2fa3'/>
<id>55cc485fb5b9ff41d3aa63a2023390a120ad2fa3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pygtype.c and pygi-type.c</title>
<updated>2018-03-31T08:16:15+00:00</updated>
<author>
<name>Christoph Reiter</name>
<email>reiter.christoph@gmail.com</email>
</author>
<published>2018-03-31T05:33:16+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/pygobject.git/commit/?id=9739ccee4ee3508cea9086f33daebb9d8f10a6fd'/>
<id>9739ccee4ee3508cea9086f33daebb9d8f10a6fd</id>
<content type='text'>
No need to have two similarly named files
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No need to have two similarly named files
</pre>
</div>
</content>
</entry>
<entry>
<title>Make sure that types are fully initialized when they are first used.</title>
<updated>2018-03-24T16:34:23+00:00</updated>
<author>
<name>Christoph Reiter</name>
<email>reiter.christoph@gmail.com</email>
</author>
<published>2018-03-24T16:34:23+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/pygobject.git/commit/?id=bfc759c9c0bb2e90c461315dc852d5faa13f4363'/>
<id>bfc759c9c0bb2e90c461315dc852d5faa13f4363</id>
<content type='text'>
This asserts that PyType_Ready() was called on the types before using them
to create instances or as base class for other types.

With this PyPy no longer crashes when importing the _gi module.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This asserts that PyType_Ready() was called on the types before using them
to create instances or as base class for other types.

With this PyPy no longer crashes when importing the _gi module.
</pre>
</div>
</content>
</entry>
</feed>
