diff options
| author | Johan Dahlin <johan@src.gnome.org> | 2006-07-13 17:26:56 +0000 |
|---|---|---|
| committer | Johan Dahlin <johan@src.gnome.org> | 2006-07-13 17:26:56 +0000 |
| commit | e26921db6615d6ab766ecb10049af254e43eeaa3 (patch) | |
| tree | 65cf78bda92ddf9f68f243bea929853f24bf873f /gobject/gobjectmodule.c | |
| parent | f80b6b9f96a027d926c9ee3d31f0ca8eb05272bf (diff) | |
| download | pygobject-e26921db6615d6ab766ecb10049af254e43eeaa3.tar.gz pygobject-e26921db6615d6ab766ecb10049af254e43eeaa3.tar.xz pygobject-e26921db6615d6ab766ecb10049af254e43eeaa3.zip | |
Add infrastructure for lazy type registration, fixes #
* gobject/gobjectmodule.c: (pyg_type_from_name),
(get_type_name_for_class):
* gobject/pygobject-private.h:
* gobject/pygobject.c: (pygobject_new_with_interfaces),
(pygobject_lookup_class), (pygobject_emit):
* gobject/pygobject.h:
* gobject/pygtype.c: (_wrap_g_type_from_name),
(pyg_type_from_object), (pyg_type_register_custom_callback),
(pyg_type_get_custom), (_pyg_type_from_name):
Add infrastructure for lazy type registration, fixes #
Diffstat (limited to 'gobject/gobjectmodule.c')
| -rw-r--r-- | gobject/gobjectmodule.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c index d4909a9..0004f43 100644 --- a/gobject/gobjectmodule.c +++ b/gobject/gobjectmodule.c @@ -277,7 +277,7 @@ pyg_type_from_name (PyObject *self, PyObject *args) #endif if (!PyArg_ParseTuple(args, "s:gobject.type_from_name", &name)) return NULL; - type = g_type_from_name(name); + type = _pyg_type_from_name(name); if (type != 0) return pyg_type_wrapper_new(type); PyErr_Format(PyExc_RuntimeError, "%s: unknown type name: %s", @@ -1136,7 +1136,7 @@ get_type_name_for_class(PyTypeObject *class) for (i = 0; type_name[i] != '\0'; i++) if (type_name[i] == '.') type_name[i] = '+'; - if (g_type_from_name(type_name) == 0) + if (_pyg_type_from_name(type_name) == 0) break; /* we now have a unique name */ ++name_serial; } @@ -3241,7 +3241,9 @@ struct _PyGObject_Functions pygobject_api_functions = { pyg_set_object_has_new_constructor, add_warning_redirection, - disable_warning_redirections + disable_warning_redirections, + + pyg_type_register_custom_callback }; #define REGISTER_TYPE(d, type, name) \ |
