diff options
| author | James Henstridge <james@daa.com.au> | 2002-08-18 02:55:16 +0000 |
|---|---|---|
| committer | James Henstridge <jamesh@src.gnome.org> | 2002-08-18 02:55:16 +0000 |
| commit | c6ca78eb2cea9b7e1df04d42852a2c98a08f5303 (patch) | |
| tree | 4627472a04143eb96e7bf1f08fed5965fbeec030 /gobject/pygobject.h | |
| parent | 53f22d8e4f362ca96c543311d0c107c6b88633a7 (diff) | |
| download | pygobject-c6ca78eb2cea9b7e1df04d42852a2c98a08f5303.tar.gz pygobject-c6ca78eb2cea9b7e1df04d42852a2c98a08f5303.tar.xz pygobject-c6ca78eb2cea9b7e1df04d42852a2c98a08f5303.zip | |
don't need to manually sink. (_wrap_gtk_tree_view_column_new): same here.
2002-08-18 James Henstridge <james@daa.com.au>
* gtk/gtk.override (_wrap_gtk_clist_new_with_titles): don't need
to manually sink.
(_wrap_gtk_tree_view_column_new): same here.
(_wrap_gtk_button_new): same here.
(_wrap_gtk_toggle_button_new): same here.
(_wrap_gtk_check_button_new): same here.
(_wrap_gtk_radio_button_new): same here.
(_wrap_gtk_list_item_new): same here.
(_wrap_gtk_menu_item_new): same here.
(_wrap_gtk_check_menu_item_new): same here.
(_wrap_gtk_radio_menu_item_new): same here.
(_wrap_gtk_image_menu_item_new): same here.
(_wrap_gtk_ctree_new_with_titles): same here.
(_wrap_gtk_dialog_new_with_buttons): same here.
(_wrap_gtk_message_dialog_new): same here.
(_wrap_gtk_progress_bar_new_with_adjustment): same here.
* gtk/gtkmodule.c (sink_gtkobject): function to sink a GtkObject
if it is floating.
(init_gtk): register sink_gtkobject for sinking GtkObjects.
* codegen/codegen.py
(GObjectWrapper.get_initial_constructor_substdict): get rid of
gtkobjectsink bit of code.
* pygobject.c (pygobject_register_sinkfunc): new function to
register a function to get rid of the floating reference from an
object.
(sink_object): run a sinkfunc for an object if it has been
registered.
(pygobject_new): call sink_object
(pygobject_register_wrapper): call sink_object.
Diffstat (limited to 'gobject/pygobject.h')
| -rw-r--r-- | gobject/pygobject.h | 55 |
1 files changed, 29 insertions, 26 deletions
diff --git a/gobject/pygobject.h b/gobject/pygobject.h index 90bfba0..9b0897c 100644 --- a/gobject/pygobject.h +++ b/gobject/pygobject.h @@ -45,6 +45,8 @@ struct _PyGObject_Functions { void (* register_class)(PyObject *dict, const gchar *class_name, GType gtype, PyTypeObject *type, PyObject *bases); void (* register_wrapper)(PyObject *self); + void (* register_sinkfunc)(GType type, + void (* sinkfunc)(GObject *object)); PyTypeObject *(* lookup_class)(GType type); PyObject *(* newgobj)(GObject *obj); @@ -104,32 +106,33 @@ extern struct _PyGObject_Functions *_PyGObject_API; struct _PyGObject_Functions *_PyGObject_API; #endif -#define pygobject_register_class (_PyGObject_API->register_class) -#define pygobject_register_wrapper (_PyGObject_API->register_wrapper) -#define pygobject_lookup_class (_PyGObject_API->lookup_class) -#define pygobject_new (_PyGObject_API->newgobj) -#define pyg_closure_new (_PyGObject_API->closure_new) -#define pygobject_watch_closure (_PyGObject_API->object_watch_closure) -#define pyg_destroy_notify (_PyGObject_API->destroy_notify) -#define pyg_type_from_object (_PyGObject_API->type_from_object) -#define pyg_type_wrapper_new (_PyGObject_API->type_wrapper_new) -#define pyg_enum_get_value (_PyGObject_API->enum_get_value) -#define pyg_flags_get_value (_PyGObject_API->flags_get_value) -#define pyg_register_boxed_custom (_PyGObject_API->register_boxed_custom) -#define pyg_value_from_pyobject (_PyGObject_API->value_from_pyobject) -#define pyg_value_as_pyobject (_PyGObject_API->value_as_pyobject) -#define pyg_register_interface (_PyGObject_API->register_interface) -#define PyGBoxed_Type (*_PyGObject_API->boxed_type) -#define pyg_register_boxed (_PyGObject_API->register_boxed) -#define pyg_boxed_new (_PyGObject_API->boxed_new) -#define PyGPointer_Type (*_PyGObject_API->pointer_type) -#define pyg_register_pointer (_PyGObject_API->register_pointer) -#define pyg_pointer_new (_PyGObject_API->pointer_new) -#define pyg_enum_add_constants (_PyGObject_API->enum_add_constants) -#define pyg_flags_add_constants (_PyGObject_API->flags_add_constants) -#define pyg_constant_strip_prefix (_PyGObject_API->constant_strip_prefix) -#define pyg_error_check (_PyGObject_API->error_check) -#define pyg_set_thread_block_funcs (_PyGObject_API->set_thread_block_funcs) +#define pygobject_register_class (_PyGObject_API->register_class) +#define pygobject_register_wrapper (_PyGObject_API->register_wrapper) +#define pygobject_register_sinkfunc (_PyGObject_API->register_sinkfunc) +#define pygobject_lookup_class (_PyGObject_API->lookup_class) +#define pygobject_new (_PyGObject_API->newgobj) +#define pyg_closure_new (_PyGObject_API->closure_new) +#define pygobject_watch_closure (_PyGObject_API->object_watch_closure) +#define pyg_destroy_notify (_PyGObject_API->destroy_notify) +#define pyg_type_from_object (_PyGObject_API->type_from_object) +#define pyg_type_wrapper_new (_PyGObject_API->type_wrapper_new) +#define pyg_enum_get_value (_PyGObject_API->enum_get_value) +#define pyg_flags_get_value (_PyGObject_API->flags_get_value) +#define pyg_register_boxed_custom (_PyGObject_API->register_boxed_custom) +#define pyg_value_from_pyobject (_PyGObject_API->value_from_pyobject) +#define pyg_value_as_pyobject (_PyGObject_API->value_as_pyobject) +#define pyg_register_interface (_PyGObject_API->register_interface) +#define PyGBoxed_Type (*_PyGObject_API->boxed_type) +#define pyg_register_boxed (_PyGObject_API->register_boxed) +#define pyg_boxed_new (_PyGObject_API->boxed_new) +#define PyGPointer_Type (*_PyGObject_API->pointer_type) +#define pyg_register_pointer (_PyGObject_API->register_pointer) +#define pyg_pointer_new (_PyGObject_API->pointer_new) +#define pyg_enum_add_constants (_PyGObject_API->enum_add_constants) +#define pyg_flags_add_constants (_PyGObject_API->flags_add_constants) +#define pyg_constant_strip_prefix (_PyGObject_API->constant_strip_prefix) +#define pyg_error_check (_PyGObject_API->error_check) +#define pyg_set_thread_block_funcs (_PyGObject_API->set_thread_block_funcs) #define pyg_block_threads() G_STMT_START { \ if (_PyGObject_API->block_threads != NULL) \ |
