diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index 590955fffab..85f92c7b572 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -234,6 +234,7 @@ openerp.base.BaseWidget = openerp.base.Controller.extend({ if(this.$element != null) { this.$element.remove(); } + this._super(); } }); diff --git a/addons/base/static/src/js/controller.js b/addons/base/static/src/js/controller.js index 54e876295f7..c9ca3193e70 100644 --- a/addons/base/static/src/js/controller.js +++ b/addons/base/static/src/js/controller.js @@ -202,8 +202,10 @@ instance.base.Controller = instance.base.Class.extend( /** @lends instance.base. stop: function() { if (this.parent && this.parent.children) { this.parent.children = _.without(this.parent.children, this); + this.parent.controller_children = this.parent.children; } this.parent = null; + this.controller_parent = null; }, log: function() { var args = Array.prototype.slice.call(arguments); diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index 6607faa6a79..026f19db5b1 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -863,7 +863,9 @@ openerp.base.search.ExtendedSearch = openerp.base.BaseWidget.extend({ }, check_last_element: function() { _.each(this.children, function(x) {x.set_last_group(false);}); - this.children[this.children.length - 1].set_last_group(true); + if (this.children.length >= 1) { + this.children[this.children.length - 1].set_last_group(true); + } } });