<html>
<body>
Approved!<br><br>
<blockquote type=cite class=cite cite="">Change 20071209-ptw-k by
<a href="mailto:ptw@dueling-banjos.local">ptw@dueling-banjos.local</a> on
2007-12-09<br>
09:32:18 EST<br>
in /Users/ptw/OpenLaszlo/ringding-2<br>
for
<a href="http://svn.openlaszlo.org/openlaszlo/trunk">
http://svn.openlaszlo.org/openlaszlo/trunk</a><br>
<br>
Summary: Fix Sprite memory Leaks<br>
<br>
Bugs Fixed:<br>
LPP-5217 'windows can leak memory<br>
<br>
Technical Reviewer:
<a href="mailto:a.bargull@intensis.de">a.bargull@intensis.de</a>
(pending) QA Reviewer:
<a href="mailto:philip@pbrdev.com">philip@pbrdev.com</a> (pending) Doc
Reviewer: (pending)<br>
<br>
Details:<br>
LzSprite.*: In #destroy set __LZdeleted
flag to prevent events<br>
from resurrecting you. No need for
recursive sprite destruction<br>
now.<br>
<br>
LzIdle: Be careful to create coi Array on
instance, not prototype.<br>
<br>
LzNode: Add comment to explain importance of
__LzDeleted flag.<br>
<br>
LaszloView: Destroy the sprite _before_ you
check for a recursive<br>
call.<br>
<br>
newcontent, scrollingtext: Remove unused id
(that causes a leak).<br>
<br>
Tests:<br>
I modified Phil's test case to only
create/destroy 1 window per<br>
click. The test methodology is:<br>
<br>
1. Start test<br>
2. Click twice to create any shared
substrate<br>
3. Debug.markObjects()<br>
4. Click once<br>
5. Debug.findNewObjects()<br>
6. Debug.whyAlive()<br>
<br>
Result: Before change, many leaked window
sprites. After change, no<br>
leaked window sprites.<br>
<br>
NOTE: There are still some other minor leaks
that I have not<br>
attempted to address here, but will report as a
separate bug.<br>
<br>
Files:<br>
M
WEB-INF/lps/lfc/kernel/swf/LzSprite.as<br>
M
WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js<br>
M
WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js<br>
M
WEB-INF/lps/lfc/kernel/swf9/LzSprite.lzs<br>
M WEB-INF/lps/lfc/services/LzIdle.lzs<br>
M WEB-INF/lps/lfc/core/LzNode.lzs<br>
M WEB-INF/lps/lfc/views/LaszloView.lzs<br>
M
lps/components/debugger/newcontent.lzx<br>
M
lps/components/debugger/scrollingtext.lzx<br>
<br>
Changeset:
<a href="http://svn.openlaszlo.org/openlaszlo/patches/20071209-ptw-k.tar">
http://svn.openlaszlo.org/openlaszlo/patches/20071209-ptw-k.tar</a>
</blockquote></body>
</html>