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);
// 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;