[PyQt] kdebindings 4.4.4 build failure with sip-4.11.1 continues

Hans-Peter Jansen hpj at urpla.net
Thu Sep 30 21:44:21 BST 2010


On Thursday 30 September 2010, 14:27:47 Phil Thompson wrote:
> On Wed, 22 Sep 2010 11:25:21 +0200, "Hans-Peter Jansen" <hpj at urpla.net>
> > /usr/include/kio/tcpslavebase.h:63: error: 'enum
> > KIO::TCPSlaveBase::SslResultDetail' is protected
> > /usr/share/sip/PyQt4/QtCore/qglobal.sip:315: error: within this context
> >
> > Phil, this one is due to the logic operator changes. It's not obvious,
> > what's
> > going wrong, but related to the friend class QFlags declararation,
> > where
> >
> > qglobal.sip got pulled in..
>
> Try changing global.sip with...
>
>     QFlags operator|(int f);
> %MethodCode
>         sipRes = new QFlags(*a0 | (ENUM(a1)));
> %End
>
>     QFlags operator^(int f);
> %MethodCode
>         sipRes = new QFlags(*a0 ^ (ENUM(a1)));
> %End
>
> ...changed to ...
>
>     QFlags operator|(int f);
> %MethodCode
>         sipRes = new QFlags(*a0 | a1);
> %End
>
>     QFlags operator^(int f);
> %MethodCode
>         sipRes = new QFlags(*a0 ^ a1);
> %End

Oops, sorry, yes, apparently that fixed the issue in question also for 
kdebindings-4.4.4. Thanks a lot, Phil.

> Is PyKDE built with protected-as-public? I think that that would also
> solve the problem (and result in much smaller Python modules).

Simon, is there a simple check, if this is active, and some infrastructure 
to enable it in kdebindings? IIRC, Jim Bublitz experimented with this also.

Pete


More information about the PyQt mailing list