From: Bob H. <bh...@co...> - 2011-07-16 13:18:12
|
On 7/16/2011 6:32 AM, William S Fulton wrote: > On 16 July 2011 05:12, Bob Hood <bh...@co...> wrote: >> With a class defined as: >> >> class IFactoryFuncs >> { >> public: // methods >> IFactoryFuncs() {} >> virtual ~IFactoryFuncs() {} >> >> virtual void destroy(PyObject*) >> { >> } >> }; >> >> SWIG 2.0.4 is generating the following (illegal) code: >> >> void SwigDirector_IFactoryFuncs::destroy(PyObject *arg0) { >> swig::SwigVar_PyObject obj0; >> obj0 = arg0 >> if (!swig_get_self()) { >> [...] > > This is a bug in the directorin typemap which I'll fix for the next > release. It is easily worked around by adding the corrected typemap > before parsing the class: > > %typemap(directorin) PyObject * "$input = $1_name;" > Thanks, William. ;) |