odoo/odoo#101419

Created by Bugfix, Hubert Van De Walle
Merged at 6ee17243a6cd6f2b22da805a8b9b44b3254f282d

Statuses:

label
odoo-dev:14.0-opw-2937444-huvw
head
f5e4dd6b2877471c0d7d4743bc6e4753933c84a8
merged
3 years ago by JavaScript, Aaron Bohy (aab)
odoo/odoo
14.0 #101419
15.0 #105811

[FIX] web: list view: don't rerender a row before the previous render…

… is done

Setup:

  • Add a checkbox to the sublist view of quotations with studio and save
  • In the chrome devtools, select a custom network throttling profile with 1s of latency

Steps to reproduce:

First example:

  • Go to a quotation with at least two lines
  • Enter edit mode
  • Change the quantity of the first line
  • Double click on the price field of the second line -> A traceback appears: Cannot set properties of null (setting 'props')

Second example:
- Go to a quotation with at least two lines
- Enter edit mode
- Change the quantity of the first line
- Click on the price field of the second line
- Click on Save → The same traceback is there

Cause of the issue:

The checkbox field is implemented in owl and thus the
owl_compatibility layer is used.
Mounted is not called on the checkbox if a new rendering is being done
cf: #75950
Currently, it is possible to set a row mode before the previous call
and rendering is done.

Solution:

Use a mutex for each record to prevent simultaneous render

opw-2937444