[FIX] component: concurrent rendering issue

Resolved rendering with cancelled fiber for (not yet) destroyed
component -> Cannot read property 'sel' of null

Closes #421
This commit is contained in:
Aaron Bohy
2019-11-08 09:16:04 +01:00
committed by Géry Debongnie
parent 7e721a96b5
commit e47f604449
7 changed files with 98 additions and 33 deletions
@@ -35,7 +35,7 @@ exports[`RouteComponent can render simple cases 1`] = `
let def2 = w3.__prepare(extra.fiber, undefined, undefined, sibling);
let pvnode = h('dummy', {key: templateId3, hook: {insert(vn) { let nvn=w3.__mount(fiber, pvnode.elm);pvnode.elm=nvn.elm;},remove() {},destroy(vn) {w3.destroy();}}});
const fiber = w3.__owl__.currentFiber;
def2.then(function () {if (w3.__owl__.isDestroyed) {return;} const vnode = fiber.vnode; pvnode.sel = vnode.sel; });
def2.then(function () {if (fiber.isCancelled) {return;} const vnode = fiber.vnode; pvnode.sel = vnode.sel; });
utils.defineProxy(vn5, pvnode);
w3.__owl__.pvnode = pvnode;
}