On Thu, 08 Mar 2012 23:14:49 +0100, Jonathan Kleinehellefort <j...@molb.org> wrote: > On Thu, 08 Mar 2012 10:03:46 +0000, Phil Thompson > <p...@riverbankcomputing.com> wrote: >> Even if there is a reference cycle the garbage collector should break it >> if it is being allowed to run. Any test should explicitly invoke it. > > Not sure if this applies here, but I think the Python GC will not call > destructors on objects that are part of a reference cycle. So maybe the > Python wrappers get collected but not the C++ objects.
No. The GC won't collect objects with __del__ methods. >> Can you provide such a test that demonstrates the problem? > > You can already see it in the original test I put up on my webserver. > But I updated it to make it more explicit: > > http://molb.org/~jk/siptest2.tar.gz > > The C++ objects have destructors that should print stuff, but that never > happens. ...because the GC isn't being run. Import the gc module and run it explicitly. > Another thing: it would be nice if sipKeepReference() would appear in the > docs. It's not part of the public API. Phil _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt