summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/web/static/src/js/owl_compatibility.js11
1 files changed, 11 insertions, 0 deletions
diff --git a/addons/web/static/src/js/owl_compatibility.js b/addons/web/static/src/js/owl_compatibility.js
index b20ad7890f0..aabb0f9861c 100644
--- a/addons/web/static/src/js/owl_compatibility.js
+++ b/addons/web/static/src/js/owl_compatibility.js
@@ -375,6 +375,17 @@ odoo.define('web.OwlCompatibility', function () {
*/
on_attach_callback() {
function recursiveCallMounted(component) {
+ if (
+ component.__owl__.status !== 2 /* RENDERED */ &&
+ component.__owl__.status !== 3 /* MOUNTED */ &&
+ component.__owl__.status !== 4 /* UNMOUNTED */
+ ) {
+ // Avoid calling mounted on a component that is not even
+ // rendered. Doing otherwise will lead to a crash if a
+ // specific mounted callback is legitimately relying on the
+ // component being mounted.
+ return;
+ }
for (const key in component.__owl__.children) {
recursiveCallMounted(component.__owl__.children[key]);
}