details:   https://code.openbravo.com/erp/devel/pi/rev/14ab9bf2c14e
changeset: 13652:14ab9bf2c14e
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Sep 02 11:19:10 2011 +0200
summary:   Related to issue 18227: Closing a tab doesn't release all objects
Solved memory leak in window personalization and with record components

diffstat:

 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-grid.js
                                |  13 ++++++++++
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization-treegrid.js
 |   7 +++++
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalize-form.js
         |   3 +-
 3 files changed, 22 insertions(+), 1 deletions(-)

diffs (54 lines):

diff -r 367eaab45edd -r 14ab9bf2c14e 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-grid.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-grid.js
  Fri Sep 02 10:02:14 2011 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-grid.js
  Fri Sep 02 11:19:10 2011 +0200
@@ -331,6 +331,19 @@
     this.Super('initWidget', arguments);
   },
   
+  //  http://forums.smartclient.com/showthread.php?p=72177#post72177
+  destroy: function() {
+    var i, components;
+    this.Super('destroy', arguments);
+    
+    components = this.getRecordComponentPool();
+    if (components) {
+      for (i = 0; i < components.length; i++) {
+        components[i].destroy();
+      }
+    }
+  },
+  
   clearFilter: function(keepFilterClause, noPerformAction){
     var i = 0, fld;
     if (!keepFilterClause) {
diff -r 367eaab45edd -r 14ab9bf2c14e 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization-treegrid.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization-treegrid.js
   Fri Sep 02 10:02:14 2011 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization-treegrid.js
   Fri Sep 02 11:19:10 2011 +0200
@@ -110,6 +110,13 @@
    this.Super('initWidget', arguments);
   },
   
+  destroy: function() {
+    if (this.data) {
+      this.data.destroy();
+    }
+    this.Super('destroy', arguments);
+  },
+  
   // open/close a folder on folder click
   folderClick: function (viewer, folder, recordNum) {
     if (this.data.isOpen(folder)) {
diff -r 367eaab45edd -r 14ab9bf2c14e 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalize-form.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalize-form.js
   Fri Sep 02 10:02:14 2011 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalize-form.js
   Fri Sep 02 11:19:10 2011 +0200
@@ -873,8 +873,9 @@
   buildFieldsTreeGrid: function() {
     var i, prop, fld;
     
+    this.fieldsLayout.destroyAndRemoveMembers(this.fieldsLayout.getMembers());
     if (this.fieldsTreeGrid) {
-      this.fieldsLayout.destroyAndRemoveMembers(this.fieldsTreeGrid);
+      this.fieldsTreeGrid.destroy();
     }
     
     // the tree will add properties to the objects as fieldData

------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to