From 72c32b3498c604baf9e4c2f614ce44f90ab5a2a5 Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Mon, 21 Jun 2021 17:26:29 +0200 Subject: [PATCH] XFA - A prototype can have a property which needs itself to resolve a proto --- src/core/xfa/xfa_object.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/core/xfa/xfa_object.js b/src/core/xfa/xfa_object.js index 07e1700b4..c99e537d5 100644 --- a/src/core/xfa/xfa_object.js +++ b/src/core/xfa/xfa_object.js @@ -491,14 +491,16 @@ class XFAObject { } ancestors.add(proto); + // The prototype can have a "use" attribute itself. const protoProto = proto[_getPrototype](ids, ancestors); - if (!protoProto) { - ancestors.delete(proto); - return proto; + if (protoProto) { + proto[_applyPrototype](protoProto, ids, ancestors); } - proto[_applyPrototype](protoProto, ids, ancestors); + // The prototype can have a child which itself has a "use" property. + proto[$resolvePrototypes](ids, ancestors); + ancestors.delete(proto); return proto;