summaryrefslogtreecommitdiffstats
path: root/pygtk.py
diff options
context:
space:
mode:
authorJames Henstridge <james@daa.com.au>2002-07-09 15:27:57 +0000
committerJames Henstridge <jamesh@src.gnome.org>2002-07-09 15:27:57 +0000
commitbf4674b72ab3c906d45458dcab26f6d5c7fe507b (patch)
tree42b462ad7bceeabb3fe7145a0fb35908ba368930 /pygtk.py
parent80ba97b5bdcea9aadcdee5a565bc83e646be0bb0 (diff)
downloadpygobject-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