Immediate apologies if this has been discussed before, but I've searched
both the docs and the list archives.....

We have a serious memory leak when using DynApi - this has been tracked to
DynObject.all retaining a reference to every created DynObject, even though
we do want them deleted (by calling "deleteAllChildren()" on our top level
container layer).

The constructor for DynObject calls "setID()", which in turn adds iteself
into DynObject.all.  It looks like the finalizer for the class is the
"del()" function - however, there is no removal of the object from
DynObject.all.

A quick test shows that sticking:

        delete DynObject.all[this.id]

at the bottom of "del()", solves the problem with no apparent side-effects.
Is this a real bug, or is there something I've missed which means the object
must be kept?

If the former then I'll raise it as a bug.  If the latter, then we have a
way of cleaning up our DynLayer subclasses automatically, but not when we
use built in sub-classes (e.g. Button).  We could change our local dynapi
files, but this is then a maintenance burden.

Cheers,
Steve.


_______________________________________________
Dynapi-Dev mailing list
[EMAIL PROTECTED]
http://www.mail-archive.com/dynapi-dev@lists.sourceforge.net/

Reply via email to