[Laszlo-dev] [Update] For Review: Change 20071209-ptw-k Summary: Fix Sprite memory Leaks
André Bargull
a.bargull at intensis.de
Tue Dec 11 14:26:31 PST 2007
Looks ok to me so far,
but there is still a huge mem-leak in DHTML, just take Phil's testcase
and inspect "canvas.sprite.__children"...
On 12/11/2007 2:58 PM, P T Withington wrote:
> [Update:
>
> I believe I have addressed André's comments. Phil, could you re-QA
> please?
> ]
>
> Change 20071209-ptw-k by ptw at dueling-banjos.local on 2007-12-09
> 09:32:18 EST
> in /Users/ptw/OpenLaszlo/ringding-2
> for http://svn.openlaszlo.org/openlaszlo/trunk
>
> Summary: Fix Sprite memory Leaks
>
> Bugs Fixed:
> LPP-5217 'windows can leak memory
>
> Technical Reviewer: a.bargull at intensis.de (pending)
> QA Reviewer: philip at pbrdev.com
> (message://<20071210171315.089691DF284@hemicuda.laszlosystems.com>)
> Doc Reviewer: (pending)
>
> Details:
>
> LzMakeLoadSprite.*, LzSprite.*: Eliminate recursion argument. Not
> used for sprites.
>
> LzSprite.*: In #destroy set __LZdeleted flag to prevent events
> from resurrecting you. No need for recursive sprite destruction
> now. Move delegate removal back to destroy from predestroy.
>
> LzIdle: Be careful to create coi Array on instance, not prototype.
>
> LzNode: Comment and simplify $once and $always processing. Add
> comment to explain importance of __LzDeleted flag.
>
> LaszloView: Destroy the sprite _before_ you check for a recursive
> call.
>
> LzReplicationManager: Remove superfluous call to LzSprite#destroy.
>
> newcontent, scrollingtext: Remove unused id (that causes a leak).
>
> Tests:
> I modified Phil's test case to only create/destroy 1 window per
> click. The test methodology is:
>
> 1. Start test
> 2. Click twice to create any shared substrate
> 3. Debug.markObjects()
> 4. Click once
> 5. Debug.findNewObjects()
> 6. Debug.whyAlive()
>
> Result: Before change, many leaked window sprites. After change, no
> leaked window sprites.
>
> NOTE: There are still some other minor leaks that I have not
> attempted to address here, but will report as a separate bug.
>
> Files:
> M WEB-INF/lps/lfc/kernel/swf/LzMakeLoadSprite.as
> M WEB-INF/lps/lfc/kernel/swf/LzSprite.as
> M WEB-INF/lps/lfc/kernel/svg/LzSprite.js
> M WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
> M WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js
> M WEB-INF/lps/lfc/kernel/swf9/LzMakeLoadSprite.lzs
> M WEB-INF/lps/lfc/kernel/swf9/LzSprite.lzs
> M WEB-INF/lps/lfc/services/LzIdle.lzs
> M WEB-INF/lps/lfc/core/LzNode.lzs
> M WEB-INF/lps/lfc/views/LaszloView.lzs
> M WEB-INF/lps/lfc/data/LzReplicationManager.lzs
> M lps/components/debugger/newcontent.lzx
> M lps/components/debugger/scrollingtext.lzx
>
> Changeset:
> http://svn.openlaszlo.org/openlaszlo/patches/20071209-ptw-k.tar
More information about the Laszlo-dev
mailing list