From c3b12b50660deae59345831298c7d6eea9ab580d Mon Sep 17 00:00:00 2001 From: Tamito Kajiyama Date: Sat, 8 Nov 2008 23:56:16 +0000 Subject: Fixed a bug in Nature_Type and BPy_Nature_from_Nature() that broke all nature-related functionalities (e.g. pyNatureUP1D() and CurveNatureF1D()). --- source/blender/freestyle/intern/python/BPy_Convert.cpp | 6 +++--- source/blender/freestyle/intern/python/BPy_Nature.cpp | 18 ++++-------------- 2 files changed, 7 insertions(+), 17 deletions(-) (limited to 'source') diff --git a/source/blender/freestyle/intern/python/BPy_Convert.cpp b/source/blender/freestyle/intern/python/BPy_Convert.cpp index 1b5c143900e..6154dc67d95 100644 --- a/source/blender/freestyle/intern/python/BPy_Convert.cpp +++ b/source/blender/freestyle/intern/python/BPy_Convert.cpp @@ -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; @@ -358,4 +358,4 @@ Vec3r * Vec3r_ptr_from_Vector( PyObject* obj ) { #ifdef __cplusplus } -#endif \ No newline at end of file +#endif diff --git a/source/blender/freestyle/intern/python/BPy_Nature.cpp b/source/blender/freestyle/intern/python/BPy_Nature.cpp index 8a29bdb5bdf..25d80816c8e 100644 --- a/source/blender/freestyle/intern/python/BPy_Nature.cpp +++ b/source/blender/freestyle/intern/python/BPy_Nature.cpp @@ -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 -- cgit v1.2.3