Btw Phil, in case you're not aware, there's an equivalent bug in
QGraphicsView.

Arve

On 2/23/07, Arve Knudsen <[EMAIL PROTECTED]> wrote:

Thanks Phil. I've tried to make sense of how to make sip convert between
the two (array<->list), but give up (I've never learnt sip). I'll leave this
to the expert ...

Arve

On 2/23/07, Phil Thompson <[EMAIL PROTECTED]> wrote:
>
> On Friday 23 February 2007 7:04 pm, Arve Knudsen wrote:
> > On 2/23/07, Michael Guntsche <[EMAIL PROTECTED]> wrote:
> > > On Feb 23, 2007, at 17:51, Arve Knudsen wrote:
> > > > Hello
> > > > If I try to reimplement the method drawItems in a QGraphicsScene
> > > > subclass, the program segfaults. Is this a bug in PyQt? I am by
> the
> > > > way using PyQt 4.1.1 (self-compiled) and Qt 4.2.0 (Ubuntu). I've
> > > > included a sample program which exhibits the behaviour.
> > >
> > > Works here.
> > > QT 4.2.2 and the latest Pyqt snapshot.
> >
> > Very strange ... I've now installed the latest snapshot, and the
> problem
> > persists. This time on a Gentoo installation with Qt 4.2.2. Inspecting
> the
> > generated Python bindings, sipQtGuiQGraphicsScene.cpp , it seems to me
> there
> > is a bug in meth_QGraphicsScene_drawItems. Argument 3, an array of
> > QGraphicsItem*, is actually treated as a return value from the
> > corresponding C++ function and thus uninitialized before being passed
> to
> > Qt. As such I wonder how come it doesn't crash on your machine, maybe
> the
> > memory error is not detected?
> >
> > If you print out the arguments to drawItems in Python you'll find that
> > instead of a list of QGraphicItems you'll receive an int instead (the
> > number of items).
>
> It's a bug - I need to add some handwritten code to handle the array.
>
> Phil
>
> _______________________________________________
> PyKDE mailing list     [email protected]
> http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
>


_______________________________________________
PyKDE mailing list    [email protected]
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde

Reply via email to