[prev in list] [next in list] [prev in thread] [next in thread]
List: pykde
Subject: Re: [PyKDE] Problem resolving widget's class
From: "Phil Thompson" <phil () riverbankcomputing ! co ! uk>
Date: 2004-11-09 13:21:34
Message-ID: 38719.82.68.80.137.1100006494.squirrel () 82 ! 68 ! 80 ! 137
[Download RAW message or body]
> On Tuesday 02 November 2004 18.37, David Boddie wrote:
>> On Tue Nov 2 16:34 2004, Fredrik Juhlin wrote:
>> > On Tuesday 02 November 2004 16.07, David Boddie wrote:
>> >
>> > That's weird. I can run it for some time without getting an error.
>> >
>> > Do you get an error such as this:
>> > label label_test_17 (<__main__.qt.QWidget object at 0x400970ec>) isn't
>> a
>> > QLabel
>> > Traceback (most recent call last):
>> > File "test.py", line 39, in updateView
>> > self._updateLabels()
>> > File "test.py", line 60, in _updateLabels
>> > label.setText(label.name())
>> > AttributeError: setText
>> >
>> > Or do you get a different error all together?
>>
>> I just get a segmentation fault. This is where we need to establish
>> which
>> versions of PyQt and SIP you're using. I'm using Python 2.3.4 with PyQt
>> 3.13 and SIP 4.0.
> As I stated in my initial mail, I run SIP 4.1.1, PyQt 3.13 and Python
> 2.3.3.
> I looked at my test code and the more I thought of it, the more convinced
> I
> got that using close(1) should be OK. But I rewrote it to use close() and
> deleteLater(). Since deleteLater() defers the delete, that should be safe
> enough.
>
> Running the new version, the error actually occurs sooner than before for
> me.
> I attached the updated test.py to this mail, it would great if you could
> try
> it and see if the error can be reproduced by you now.
This is a SIP bug. It's because Qt is destroying a QWidget instance and,
some time later, creating a QLabel instance at the same address. The
problem being that SIP/PyQt isn't noticing the destruction of the QWidget
and so assumes that the QLabel is the same instance.
I should have a fix in the next snapshot, which will be sometime around
the weekend.
Thanks for putting the effort into creating a such a good test case.
Phil
_______________________________________________
PyKDE mailing list PyKDE@mats.imk.fraunhofer.de
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic