Pretty sure it's a pyqt bug, in deleteSlotProxies:
if (QThread::currentThread() == up->thread())
delete up;
else
up->deleteLater();
http://qt-project.org/doc/qt-4.8/qobject.html#dtor.QObject
"Warning: Deleting a QObject while pending events are waiting to be
delivered can cause a crash. [...] Use deleteLater() instead, which
will cause the event loop to delete the object after all pending
events have been delivered to it."
Qt makes no effort to clean out pending events when an object is
deleted. deleteSlotProxies has no reason to believe that pending
events are not waiting to be delivered - and in the case I have, there
are pending events. It should use deleteLater unconditionally.
In fact I would suggest that it is probably always wrong for pyqt to
delete a QObject rather than deleteLater, since it has no idea what
the application code may have in the event queue.
_______________________________________________
PyQt mailing list [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt