[PyQt] Random segfaults when manually calling sip.setdeleted() from QObject.destroyed

Wayne Rowcliffe war1025 at gmail.com
Thu Jan 22 17:05:38 GMT 2015


Hi,

I saw a post in the mailing list (
http://www.riverbankcomputing.com/pipermail/pyqt/2014-December/035177.html)
where it suggests that you could manually call sip.setdeleted() from the
destroyed signal that is sent when a widget is destructed.

We are running into a similar issue so I tried to implement the above idea
on widgets that are in memory but were not created by python.

When running our test suite, I started hitting "C/C++ object deleted"
exceptions in completely unrelated places (Building designer widgets where
on one line it would define a QFrame, then on the next line when it tried
to use the QFrame, it would say the object was deleted, for example)

Could this be a case of the same memory being reused after an object is
removed and sip not detecting that there is a new object in place of the
old?

It seemed like a promising technique but it looks like we'll have to find
another work around.

-- Wayne Rowcliffe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20150122/8c913f61/attachment.html>


More information about the PyQt mailing list