XFA - A prototype can have a property which needs itself to resolve a proto

This commit is contained in:
Calixte Denizet 2021-06-21 17:26:29 +02:00
parent 277f351291
commit 72c32b3498

View File

@ -491,14 +491,16 @@ class XFAObject {
} }
ancestors.add(proto); ancestors.add(proto);
// The prototype can have a "use" attribute itself. // The prototype can have a "use" attribute itself.
const protoProto = proto[_getPrototype](ids, ancestors); const protoProto = proto[_getPrototype](ids, ancestors);
if (!protoProto) { if (protoProto) {
ancestors.delete(proto); proto[_applyPrototype](protoProto, ids, ancestors);
return proto;
} }
proto[_applyPrototype](protoProto, ids, ancestors); // The prototype can have a child which itself has a "use" property.
proto[$resolvePrototypes](ids, ancestors);
ancestors.delete(proto); ancestors.delete(proto);
return proto; return proto;