[PyQt] sip: translation error with operator *=

pymab mabxsi at hotmail.com
Fri May 6 18:44:54 BST 2011


Hi,

The following sip decl

CMatrix3 & operator*=(const CMatrix3& in_matrix3 );

gets translated to

static PyObject *slot_CMatrix3___imul__(PyObject *sipSelf,int a0)

which obviously doesn't compiled. I would have expected this translation
instead:

static PyObject *slot_CMatrix3___imul__(PyObject *sipSelf,PyObject *sipArg)

My other methods in the same class are properly translated though:

bool operator !=(const CMatrix3 & in_matrix3 ) const;
static PyObject *slot_CMatrix3___ne__(PyObject *sipSelf,PyObject *sipArg)

bool operator ==(const CMatrix3 & in_matrix3 ) const;
static PyObject *slot_CMatrix3___eq__(PyObject *sipSelf,PyObject *sipArg)

However , this one:
CVector3 operator[](const short& in_sIndex);

is translated to: 
static PyObject *slot_CMatrix3___getitem__(PyObject *sipSelf,PyObject
*sipArg)

It looks like sip has inverted the args with
static PyObject *slot_CMatrix3___imul__(PyObject *sipSelf,int a0)

Is there an issue with *= or [] methods ? 

thanks
-mab

-- 
View this message in context: http://old.nabble.com/sip%3A-translation-error-with-operator-*%3D-tp31560939p31560939.html
Sent from the PyQt mailing list archive at Nabble.com.



More information about the PyQt mailing list