summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/openerpframework.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2014-10-16 16:04:39 +0200
committerChristophe Simonis <chs@odoo.com>2014-10-16 16:04:39 +0200
commit52fee2811d658031a34257b911b1d2b40bfa0c04 (patch)
tree61a625efad5e5ffe237e712bf1db2a840b71cb4a /addons/web/static/src/js/openerpframework.js
parent904adc8b51abd3a0fc29c979884f845d6641da3c (diff)
parent2b192bef2242c71d0ff3a45b9efb9e717fd364c4 (diff)
[MERGE] forward port of branch 8.0 up to 2b192be
Diffstat (limited to 'addons/web/static/src/js/openerpframework.js')
-rw-r--r--addons/web/static/src/js/openerpframework.js28
1 files changed, 14 insertions, 14 deletions
diff --git a/addons/web/static/src/js/openerpframework.js b/addons/web/static/src/js/openerpframework.js
index 77be9fd6ba8..fd13bea49cb 100644
--- a/addons/web/static/src/js/openerpframework.js
+++ b/addons/web/static/src/js/openerpframework.js
@@ -258,24 +258,24 @@ openerp.ParentedMixin = {
current object is destroyed.
*/
alive: function(promise, reject) {
- var def = $.Deferred();
var self = this;
- promise.done(function() {
- if (! self.isDestroyed()) {
- if (! reject)
+ return $.Deferred(function (def) {
+ promise.then(function () {
+ if (!self.isDestroyed()) {
def.resolve.apply(def, arguments);
- else
- def.reject();
- }
- }).fail(function() {
- if (! self.isDestroyed()) {
- if (! reject)
+ }
+ }, function () {
+ if (!self.isDestroyed()) {
def.reject.apply(def, arguments);
- else
+ }
+ }).always(function () {
+ if (reject) {
+ // noop if def already resolved or rejected
def.reject();
- }
- });
- return def.promise();
+ }
+ // otherwise leave promise in limbo
+ });
+ }).promise();
},
/**
* Inform the object it should destroy itself, releasing any