[IMP] component: better coordination for errors in rendering

part of #410
This commit is contained in:
Géry Debongnie
2019-11-18 15:28:47 +01:00
committed by aab-odoo
parent c7773bfd2a
commit f44b9a38ae
3 changed files with 10 additions and 22 deletions
+5 -1
View File
@@ -572,6 +572,7 @@ export class Component<T extends Env, Props extends {}> {
if (__owl__.observer) {
__owl__.observer.allowMutations = false;
}
let error;
try {
let vnode = __owl__.renderFn!(this, {
handlers: __owl__.boundHandlers,
@@ -582,7 +583,7 @@ export class Component<T extends Env, Props extends {}> {
}
fiber.vnode = vnode;
} catch (e) {
fiber.handleError(e);
error = e;
}
if (__owl__.observer) {
__owl__.observer.allowMutations = true;
@@ -597,6 +598,9 @@ export class Component<T extends Env, Props extends {}> {
}
fiber.root.counter--;
fiber.isRendered = true;
if (error) {
fiber.handleError(error);
}
}
/**