summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@odoo.com>2017-03-23 11:31:18 +0100
committerAaron Bohy <aab@odoo.com>2017-04-11 19:44:38 +0200
commit749d10e8b55dce94828290d7e4d6b2b6f741e9bd (patch)
treee53a705394d924c8e8655e890dc2a648fae54a7c /addons/web/static/src
parentdacb326695fae394825a19511996abf92a2707c7 (diff)
[FIX] web: avoid memory leak
Methods are bound on button but never release.
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/views/form/form_controller.js9
-rw-r--r--addons/web/static/src/js/views/kanban/kanban_controller.js5
-rw-r--r--addons/web/static/src/js/views/list/list_controller.js6
3 files changed, 20 insertions, 0 deletions
diff --git a/addons/web/static/src/js/views/form/form_controller.js b/addons/web/static/src/js/views/form/form_controller.js
index 940d27d386c..bf06c39034d 100644
--- a/addons/web/static/src/js/views/form/form_controller.js
+++ b/addons/web/static/src/js/views/form/form_controller.js
@@ -33,6 +33,15 @@ var FormController = BasicController.extend({
this.toolbar = params.toolbar;
this.mode = params.mode;
},
+ /**
+ * @override
+ */
+ destroy: function () {
+ if (this.$buttons) {
+ this.$buttons.find('*').off();
+ }
+ this._super();
+ },
//--------------------------------------------------------------------------
// Public
diff --git a/addons/web/static/src/js/views/kanban/kanban_controller.js b/addons/web/static/src/js/views/kanban/kanban_controller.js
index 420e848e5e4..c74f06d1de1 100644
--- a/addons/web/static/src/js/views/kanban/kanban_controller.js
+++ b/addons/web/static/src/js/views/kanban/kanban_controller.js
@@ -43,6 +43,11 @@ var KanbanController = BasicController.extend({
// true iff grouped by an m2o field and group_create action enabled
this.create_column_enabled = false;
},
+ destroy: function () {
+ if (this.$buttons) {
+ this.$buttons.off();
+ }
+ },
//--------------------------------------------------------------------------
// Public
diff --git a/addons/web/static/src/js/views/list/list_controller.js b/addons/web/static/src/js/views/list/list_controller.js
index b25b02b4513..713299c19ed 100644
--- a/addons/web/static/src/js/views/list/list_controller.js
+++ b/addons/web/static/src/js/views/list/list_controller.js
@@ -42,6 +42,12 @@ var ListController = BasicController.extend({
this.noLeaf = params.noLeaf;
this.selectedRecords = []; // there is no selected record by default
},
+ destroy: function () {
+ if (this.$buttons) {
+ this.$buttons.find('*').off();
+ }
+ this._super();
+ },
//--------------------------------------------------------------------------
// Public