Author: max
Date: 2008-02-14 20:53:11 -0800 (Thu, 14 Feb 2008)
New Revision: 8037

Modified:
   openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
Log:
Change 20080214-maxcarlson-9 by [EMAIL PROTECTED] on 2008-02-14 19:57:57 PST
    in /Users/maxcarlson/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Fix errors on page reloads in IE DHTML

New Features:

Bugs Fixed: LPP-5347 - Using IE, browser reports 'no such interface' javascript 
error when closing or refreshing the window

Technical Reviewer: promanik
QA Reviewer: [EMAIL PROTECTED]
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details: Check div.nodeType in discardElement()
    

Tests: See LPP-5347



Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js   2008-02-15 
04:00:29 UTC (rev 8036)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js   2008-02-15 
04:53:11 UTC (rev 8037)
@@ -1527,19 +1527,22 @@
     if (LzSprite.prototype.quirks.ie_leak_prevention) {
         // Used instead of node.removeChild to eliminate 'pseudo-leaks' in IE 
- see http://outofhanwell.com/ieleak/index.php?title=Fixing_Leaks
         //alert('__discardElement' + element);
-        if (element.owner) element.owner = null;
-        var garbageBin = document.getElementById('__LZIELeakGarbageBin');
-        if (!garbageBin) {
-            garbageBin = document.createElement('DIV');
-            garbageBin.id = '__LZIELeakGarbageBin';
-            garbageBin.style.display = 'none';
-            document.body.appendChild(garbageBin);
+        if( ( element.nodeType >= 1 ) && ( element.nodeType < 13 ) )  {
+            // ensures element is valid node 
+            if (element.owner) element.owner = null;
+            var garbageBin = document.getElementById('__LZIELeakGarbageBin');
+            if (!garbageBin) {
+                garbageBin = document.createElement('DIV');
+                garbageBin.id = '__LZIELeakGarbageBin';
+                garbageBin.style.display = 'none';
+                document.body.appendChild(garbageBin);
+            }
+
+            // move the element to the garbage bin
+            garbageBin.appendChild(element);
+            garbageBin.innerHTML = '';
+            //garbageBin.outerHTML = '';
         }
-
-        // move the element to the garbage bin
-        garbageBin.appendChild(element);
-        garbageBin.innerHTML = '';
-        //garbageBin.outerHTML = '';
     } else {
         if (element.parentNode) element.parentNode.removeChild(element);
     }


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

Reply via email to