diff options
| author | Christophe Simonis <chs@odoo.com> | 2016-10-27 18:23:44 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2016-10-27 18:23:44 +0200 |
| commit | ea479ce6f3ffdcf36c5f918b6ce68888e42a56ce (patch) | |
| tree | addf64e3f038bf53c293cc7ba1e81fd0b9413b32 /addons/web/static/src/js/framework | |
| parent | 68b1c5c1fa643e99fd5e597949c39e222477dcab (diff) | |
| parent | 3bb022d57c43c51a5fd4be39e4123b1206db4782 (diff) | |
[MERGE] forward port branch 10.0 up to 3bb022d
Diffstat (limited to 'addons/web/static/src/js/framework')
| -rw-r--r-- | addons/web/static/src/js/framework/data.js | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/addons/web/static/src/js/framework/data.js b/addons/web/static/src/js/framework/data.js index a350dadb59e..c160ebaf539 100644 --- a/addons/web/static/src/js/framework/data.js +++ b/addons/web/static/src/js/framework/data.js @@ -793,18 +793,19 @@ var BufferedDataSet = DataSetStatic.extend({ var def = $.Deferred(); this.mutex.exec(function () { var dirty = false; - _.each(data, function (v, k) { - if (!_.isEqual(v, cached.values[k])) { + // _.each is broken if a field "length" is present + for (var k in data) { + if (!_.isEqual(data[k], cached.values[k])) { dirty = true; - if (_.isEqual(v, cached.from_read[k])) { // clean changes + if (_.isEqual(data[k], cached.from_read[k])) { // clean changes delete cached.changes[k]; } else { - cached.changes[k] = v; + cached.changes[k] = data[k]; } } else { delete data[k]; } - }); + } self._update_cache(id, options); if (dirty) { |
