On Sun, 28 Oct 2012 23:12:35 +0530, Kovid Goyal <ko...@kovidgoyal.net>
wrote:
> Blanket not calling dtors would be problematic, there's no way to be
> sure what side effects that would have. One solution would be to
> specialize the dealloc function for QRawFont objects to check if the
> application is exiting and abort. 
> 
> Another might be to register a cleanup function using the atexit module
> that calls deletes all QRawFont objects (at least their underlying C++
> objects), though since atexit is
> called from Py_Finalize() that would only work if Qt hasn't released
> FreeType at that time.

For the moment I've implemented the (optional) blanket not calling dtors
in the form of sip.setdestroyonexit(). People can try this if they are
seeing crashes on exit and we'll see if it turns out to be problematic. If
not I may make it the default for PyQt5.

I'd rather not special case QRawFont if it can be avoided - I'm sure there
are lots of similar special cases.

Phil
_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to