diff --git a/web/static/src/ts/core/qweb_vdom.ts b/web/static/src/ts/core/qweb_vdom.ts index 3f2d78c9..a3aa3488 100644 --- a/web/static/src/ts/core/qweb_vdom.ts +++ b/web/static/src/ts/core/qweb_vdom.ts @@ -682,7 +682,7 @@ const widgetDirective: Directive = { let props = node.getAttribute("t-props"); let widgetID = ctx.generateID(); ctx.addLine( - `let _${widgetID} = new context.widgets['${value}'](context, ${props})` + `let _${widgetID} = new context.widgets['${value}'](owner, ${props})` ); ctx.addLine( `let def${defID} = _${widgetID}._start().then(() => _${widgetID}._render()).then(vnode=>{Object.assign(_${dummyID}, vnode);_${dummyID}.key="${dummyID}";_${dummyID}.data.hook = {create(_,vn){_${widgetID}._mount(vn)}}})` diff --git a/web/static/tests/widget.test.ts b/web/static/tests/widget.test.ts index 46dd78af..b27a4c65 100644 --- a/web/static/tests/widget.test.ts +++ b/web/static/tests/widget.test.ts @@ -265,6 +265,7 @@ describe("composition", () => { const widget = new WidgetA(env); await widget.mount(fixture); expect(fixture.innerHTML).toBe("