Index: /trunk/htmlarea.js
===================================================================
--- /trunk/htmlarea.js (revision 536)
+++ /trunk/htmlarea.js (revision 544)
@@ -6712,33 +6712,20 @@
 /**
  * Release memory properties from object
- * @param {object} O (Object)   The object to free memory
- * @param (string} P (Property) The property to release (optional)
+ * @param {object} object The object to free memory
+ * @param (string} prop   The property to release (optional)
  * @private
  */
-HTMLArea.free = function(O, P)
-{
-  if ( O && !P )
-  {
-    for ( var p in O )
-    {
-      HTMLArea.free(O, p);
-    }
-  }
-  else if ( O )
-  {
-    // is the try...catch really required here ?
-    try
-    {
-      // if it is the innerHTML property, just do nothing
-      if ( P !== 'innerHTML' )
-      {
-        // need to unhide TD cells before delete them or they will leak in IE
-        if ( O[P] && O[P].tagName && O[P].tagName.toLowerCase() == 'td' )
-        {
-          O[P].style.display = '';
-        }
-        O[P] = null;
-      }
-    } catch(x) {}
+HTMLArea.free = function(obj, prop)
+{
+  if ( obj && !prop )
+  {
+    for ( var p in obj )
+    {
+      HTMLArea.free(obj, p);
+    }
+  }
+  else if ( obj )
+  {
+    try { obj[prop] = null; } catch(x) {}
   }
 };
