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 *py_n = Nature_Type.tp_new( &Nature_Type, 0, 0 );
PyObject *py_n;
PyObject *args = PyTuple_New(1);
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);
return py_n;

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 ----------------------------*/
static PyMethodDef BPy_Nature_methods[] = {
{NULL, NULL, 0, NULL}
@@ -77,14 +74,14 @@ PyTypeObject Nature_Type = {
BPy_Nature_methods, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
NULL, /* struct PyGetSetDef *tp_getset; */
&PyInt_Type, /* struct _typeobject *tp_base; */
NULL, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */
NULL, /* descrsetfunc tp_descr_set; */
0, /* long tp_dictoffset; */
(initproc)Nature___init__, /* initproc tp_init; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
PyType_GenericNew, /* newfunc tp_new; */
NULL, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
@@ -109,6 +106,7 @@ PyMODINIT_FUNC Nature_Init( PyObject *module )
if( module == NULL )
return;
Nature_Type.tp_base = &PyInt_Type;
if( PyType_Ready( &Nature_Type ) < 0 )
return;
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