[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    Re: [PyQt] =?utf-8?q?sip=3A_translation_error_with_operator_*=3D?=
From:       Phil Thompson <phil () riverbankcomputing ! com>
Date:       2011-05-15 13:19:10
Message-ID: ea124e0e936a53c6a3ad5680add7c790 () localhost
[Download RAW message or body]

On Fri, 6 May 2011 10:44:54 -0700 (PDT), pymab <mabxsi@hotmail.com> wrote:
> 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)

I can't reproduce this. What version of SIP?

> 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)

Which is correct.

> 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

Phil

_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic