diff options
author | James Henstridge <james@daa.com.au> | 2002-07-09 15:27:57 +0000 |
---|---|---|
committer | James Henstridge <jamesh@src.gnome.org> | 2002-07-09 15:27:57 +0000 |
commit | bf4674b72ab3c906d45458dcab26f6d5c7fe507b (patch) | |
tree | 42b462ad7bceeabb3fe7145a0fb35908ba368930 /pygtk.py | |
parent | 80ba97b5bdcea9aadcdee5a565bc83e646be0bb0 (diff) | |
download | pygobject-bf4674b72ab3c906d45458dcab26f6d5c7fe507b.tar.gz pygobject-bf4674b72ab3c906d45458dcab26f6d5c7fe507b.tar.xz pygobject-bf4674b72ab3c906d45458dcab26f6d5c7fe507b.zip |
Reworking of Arjan Molenaar's (arjanmolenaar@hetnet.nl) patch from bugPYGTK_1_99_11
2002-07-09 James Henstridge <james@daa.com.au>
Reworking of Arjan Molenaar's (arjanmolenaar@hetnet.nl) patch from
bug 71435.
* gtk/libglade.override (connect_one): watch the closure.
(connect_many): watch the closure.
* gtk/gtk.override (_wrap_gtk_toolbar_append_item): watch closure
for signal.
(_wrap_gtk_toolbar_prepend_item): same here.
(_wrap_gtk_toolbar_insert_item): same here.
(_wrap_gtk_toolbar_insert_stock): same here.
(_wrap_gtk_toolbar_append_element): same here.
(_wrap_gtk_toolbar_prepend_element): same here.
(_wrap_gtk_toolbar_insert_element): same here.
* pygobject.h (_PyGObject_Functions): add pygobject_watch_closure
to the list of exported functions.
* pygobject.c (pygobject_watch_closure): new function to watch a
closure. We perform cyclic garbage collection on watched
closures. The closure will automatically be unwatched when it
gets invalidated.
(pygobject_traverse): traverse watched closures as well.
(pygobject_clear): invalidate all watched closures
(pygobject_dealloc): invalidate watched closures on dealloc too.
(PyGObject_Type): register the invalidate handler.
(pygobject_connect): watch the closure we connect here.
(pygobject_connect_after): same here..
(pygobject_connect_object): same here.
(pygobject_connect_object_after): same here.
* pygtype.c (pyg_closure_new): clean up closure on invalidate,
rather than finalize (on invalidate, we break references).
* pygobject.h (PyGObject): add closures member to store references
to PyGClosures.
Diffstat (limited to 'pygtk.py')
0 files changed, 0 insertions, 0 deletions