Author: max
Date: 2007-08-20 19:27:44 -0700 (Mon, 20 Aug 2007)
New Revision: 6164

Modified:
   openlaszlo/branches/wafflecone/lps/components/base/basetabelement.lzx
Log:
Change 20070820-maxcarlson-u by [EMAIL PROTECTED] on 2007-08-20 17:32:03 PDT
    in /Users/maxcarlson/openlaszlo/wafflecone
    for http://svn.openlaszlo.org/openlaszlo/branches/wafflecone

Summary: Fix memory leaks in "basetabelement"

New Features:

Bugs Fixed: LPP-4432 - Memory leaks in "basetabelement"

Technical Reviewer: promanik
QA Reviewer: jcrowley
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details: Applied fixes per LPP-4432.
    

Tests: http://localhost:8080/wafflecone/examples/components/tabs_example.lzx 
and http://localhost:8080/wafflecone/test/components/base/lzunit-basetabs.lzx 
pass in swf and dhtml.



Modified: openlaszlo/branches/wafflecone/lps/components/base/basetabelement.lzx
===================================================================
--- openlaszlo/branches/wafflecone/lps/components/base/basetabelement.lzx       
2007-08-21 00:45:08 UTC (rev 6163)
+++ openlaszlo/branches/wafflecone/lps/components/base/basetabelement.lzx       
2007-08-21 02:27:44 UTC (rev 6164)
@@ -131,6 +131,12 @@
         <method name="openned">
             if ( onopenstop ) this.onopenstop.sendEvent();
             this.isopening -= 1;
+            if (this.isopening == 0) {
+                //now we can savely call unregisterAll
+                if (this.dlo) {
+                    this.dlo.unregisterAll();
+                }
+            } 
         </method>
 
         <!--- Called when the tabelement is completely closed. -->
@@ -151,6 +157,22 @@
                 this.updateDefault();
             }
         ]]></method>
+
+        <!--- @keywords private -->
+        <method name="destroy" ><![CDATA[
+            if (dlo in this) {
+                this.dlo.unregisterAll();
+                delete this.dlo;
+            }
+            
+            if (dlc in this) {
+                this.dlc.unregisterAll();
+                delete this.dlc;
+            }
+            
+            super.destroy.apply(this, arguments);
+        ]]></method> 
+
         <doc>
           <tag name="shortdesc"><text>Base class for the contents of a 
basetabslider.</text></tag>
           <text>


_______________________________________________
Laszlo-checkins mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins

Reply via email to