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 PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt