diff options
Diffstat (limited to 'Modules/xxmodule.c')
-rw-r--r-- | Modules/xxmodule.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Modules/xxmodule.c b/Modules/xxmodule.c index 529f521aec..04a474ce49 100644 --- a/Modules/xxmodule.c +++ b/Modules/xxmodule.c @@ -132,8 +132,10 @@ Xxo_setattr(self, name, v) return PyDict_SetItemString(self->x_attr, name, v); } -staticforward PyTypeObject Xxo_Type = { - PyObject_HEAD_INIT(&PyType_Type) +statichere PyTypeObject Xxo_Type = { + /* The ob_type field must be initialized in the module init function + * to be portable to Windows without using C++. */ + PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ "Xxo", /*tp_name*/ sizeof(XxoObject), /*tp_basicsize*/ @@ -242,6 +244,10 @@ initxx() { PyObject *m, *d; + /* Initialize the type of the new type object here; doing it here + * is required for portability to Windows without requiring C++. */ + Xxo_Type.ob_type = &PyType_Type; + /* Create the module and add the functions */ m = Py_InitModule("xx", xx_methods); |