Tony Nelson wrote:
However when a object is part of a
cycle, the count won't go to 0 until the cyclic gc runs. Every python
wrapper for a GObject derived instance is part of a cycle, so these
objects are not disposed of until the gc runs.
Doesn't make it any less a bug, even if it is a very hard bug.
I'd say it's an enhancement that would be very nice to have, if only to
prevent surprises when people first encounter it. Generally what
happens though is people run into it, figure out what's happening, and
then either realize it's not a real problem or rework their code a bit
to avoid it.
There are two objects here -- a GObject managed and ref counted by the
gobject runtime and a PyObject managed and ref counted by the Python
runtime. Each can have state and the challenge is to synchronize their
lifetimes. I encourage you to read through the bug discussion and
perhaps trace through the code with a C debugger if you're interested in
this.
Cheers,
John
_______________________________________________
pygtk mailing list [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/