Fixed a bug in Nature_Type and BPy_Nature_from_Nature() that broke all nature-related functionalities (e.g. pyNatureUP1D() and CurveNatureF1D()).

This commit is contained in:
2008-11-08 23:56:16 +00:00
parent 1db8ac58a3
commit c3b12b5066
2 changed files with 7 additions and 17 deletions

View File

@@ -109,11 +109,11 @@ PyObject * BPy_FEdge_from_FEdge( FEdge& fe ) {
} }
PyObject * BPy_Nature_from_Nature( unsigned short n ) { PyObject * BPy_Nature_from_Nature( unsigned short n ) {
PyObject *py_n = Nature_Type.tp_new( &Nature_Type, 0, 0 ); PyObject *py_n;
PyObject *args = PyTuple_New(1); PyObject *args = PyTuple_New(1);
PyTuple_SetItem( args, 0, PyInt_FromLong(n) ); PyTuple_SetItem( args, 0, PyInt_FromLong(n) );
Nature_Type.tp_init( py_n, args, 0 ); py_n = Nature_Type.tp_new(&Nature_Type, args, NULL);
Py_DECREF(args); Py_DECREF(args);
return py_n; return py_n;
@@ -358,4 +358,4 @@ Vec3r * Vec3r_ptr_from_Vector( PyObject* obj ) {
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@@ -8,9 +8,6 @@ extern "C" {
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
/*--------------- Python API function prototypes for Nature instance -----------*/
static int Nature___init__(BPy_Nature *self, PyObject *args, PyObject *kwds);
/*----------------------Nature instance definitions ----------------------------*/ /*----------------------Nature instance definitions ----------------------------*/
static PyMethodDef BPy_Nature_methods[] = { static PyMethodDef BPy_Nature_methods[] = {
{NULL, NULL, 0, NULL} {NULL, NULL, 0, NULL}
@@ -77,14 +74,14 @@ PyTypeObject Nature_Type = {
BPy_Nature_methods, /* struct PyMethodDef *tp_methods; */ BPy_Nature_methods, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */ NULL, /* struct PyMemberDef *tp_members; */
NULL, /* struct PyGetSetDef *tp_getset; */ NULL, /* struct PyGetSetDef *tp_getset; */
&PyInt_Type, /* struct _typeobject *tp_base; */ NULL, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */ NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */ NULL, /* descrgetfunc tp_descr_get; */
NULL, /* descrsetfunc tp_descr_set; */ NULL, /* descrsetfunc tp_descr_set; */
0, /* long tp_dictoffset; */ 0, /* long tp_dictoffset; */
(initproc)Nature___init__, /* initproc tp_init; */ NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */ NULL, /* allocfunc tp_alloc; */
PyType_GenericNew, /* newfunc tp_new; */ NULL, /* newfunc tp_new; */
/* Low-level free-memory routine */ /* Low-level free-memory routine */
NULL, /* freefunc tp_free; */ NULL, /* freefunc tp_free; */
@@ -109,6 +106,7 @@ PyMODINIT_FUNC Nature_Init( PyObject *module )
if( module == NULL ) if( module == NULL )
return; return;
Nature_Type.tp_base = &PyInt_Type;
if( PyType_Ready( &Nature_Type ) < 0 ) if( PyType_Ready( &Nature_Type ) < 0 )
return; return;
Py_INCREF( &Nature_Type ); Py_INCREF( &Nature_Type );
@@ -133,14 +131,6 @@ PyMODINIT_FUNC Nature_Init( PyObject *module )
} }
int Nature___init__(BPy_Nature *self, PyObject *args, PyObject *kwds)
{
if (PyInt_Type.tp_init((PyObject *)self, args, kwds) < 0)
return -1;
return 0;
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
#ifdef __cplusplus #ifdef __cplusplus