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