diff options
Diffstat (limited to 'gobject')
| -rw-r--r-- | gobject/gobjectmodule.c | 3 | ||||
| -rw-r--r-- | gobject/pygobject.h | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c index d8ab589..09f394a 100644 --- a/gobject/gobjectmodule.c +++ b/gobject/gobjectmodule.c @@ -711,7 +711,7 @@ pyg_value_from_pyobject(GValue *value, PyObject *obj) } else if (G_VALUE_HOLDS_BOXED(value)) { PyGBoxedMarshal *bm; - if (pyg_boxed_check(obj, &PyGBoxed_Type) && + if (ExtensionClassSubclassInstance_Check(obj, &PyGBoxed_Type) && G_VALUE_HOLDS(value, ((PyGBoxed *)obj)->gtype)) { g_value_set_boxed(value, pyg_boxed_get(obj, gpointer)); } else if ((bm = pyg_boxed_lookup(G_VALUE_TYPE(value))) != NULL) { @@ -1968,6 +1968,7 @@ static struct _PyGObject_Functions functions = { pygobject_register_wrapper, pygobject_lookup_class, pygobject_new, + pyg_closure_new, pyg_type_from_object, pyg_enum_get_value, pyg_flags_get_value, diff --git a/gobject/pygobject.h b/gobject/pygobject.h index 10a9bf4..4cccd23 100644 --- a/gobject/pygobject.h +++ b/gobject/pygobject.h @@ -35,6 +35,8 @@ struct _PyGObject_Functions { void (* register_wrapper)(PyObject *self); PyExtensionClass *(* lookup_class)(GType type); PyObject *(* new)(GObject *obj); + GClosure *(* closure_new)(PyObject *callback, PyObject *extra_args, + PyObject *swap_data); GType (* type_from_object)(PyObject *obj); gint (* enum_get_value)(GType enum_type, PyObject *obj, gint *val); gint (* flags_get_value)(GType flag_type, PyObject *obj, gint *val); @@ -67,6 +69,7 @@ struct _PyGObject_Functions *_PyGObject_API; #define pygobject_register_wrapper (_PyGObject_API->register_wrapper) #define pygobject_lookup_class (_PyGObject_API->lookup_class) #define pygobject_new (_PyGObject_API->new) +#define pyg_closure_new (_PyGObject_API->closure_new) #define pyg_type_from_object (_PyGObject_API->type_from_object) #define pyg_enum_get_value (_PyGObject_API->enum_get_value) #define pyg_flags_get_value (_PyGObject_API->flags_get_value) |
