diff --git a/addons/web/static/src/views/list/list_renderer.js b/addons/web/static/src/views/list/list_renderer.js index d08a2cc4a56..72d4cc81916 100644 --- a/addons/web/static/src/views/list/list_renderer.js +++ b/addons/web/static/src/views/list/list_renderer.js @@ -1131,7 +1131,7 @@ export class ListRenderer extends Component { onCellKeydownEditMode(hotkey, cell, group, record) { const { activeActions, cycleOnTab, list } = this.props; const row = cell.parentElement; - const applyMultiEditBehavior = record.selected && list.model.multiEdit; + const applyMultiEditBehavior = record && record.selected && list.model.multiEdit; if ( applyMultiEditBehavior && diff --git a/addons/web/static/tests/views/fields/one2many_field_tests.js b/addons/web/static/tests/views/fields/one2many_field_tests.js index 404ed1c3e35..300d051593f 100644 --- a/addons/web/static/tests/views/fields/one2many_field_tests.js +++ b/addons/web/static/tests/views/fields/one2many_field_tests.js @@ -12118,6 +12118,33 @@ QUnit.module("Fields", (hooks) => { } ); + QUnit.test( + "be able to press a key on the keyboard when focusing a column header without crashing", + async function (assert) { + assert.expect(0); + + await makeView({ + type: "form", + resModel: "partner", + serverData, + arch: ` +
`, + resId: 1, + }); + await clickEdit(target); + await click(target.querySelector(".o_data_row .o_data_cell")); + target.querySelector(".o_list_renderer .o_column_sortable").focus(); + triggerHotkey("a"); + await nextTick(); + } + ); + QUnit.test("Check onchange with two consecutive one2one", async function (assert) { serverData.models.product.fields.product_partner_ids = { string: "User",