From 130430e805476bebb8d6820e124c07c7db57fce9 Mon Sep 17 00:00:00 2001 From: Tom Schuster Date: Wed, 21 Aug 2024 21:47:23 +0200 Subject: [PATCH] avm2: XMLList needs to override has_own_property_string to handle attributes --- core/src/avm2/object/xml_list_object.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/src/avm2/object/xml_list_object.rs b/core/src/avm2/object/xml_list_object.rs index cc934c283..81dc1c9a0 100644 --- a/core/src/avm2/object/xml_list_object.rs +++ b/core/src/avm2/object/xml_list_object.rs @@ -1,6 +1,6 @@ use crate::avm2::activation::Activation; use crate::avm2::api_version::ApiVersion; -use crate::avm2::e4x::{E4XNamespace, E4XNode, E4XNodeKind}; +use crate::avm2::e4x::{string_to_multiname, E4XNamespace, E4XNode, E4XNodeKind}; use crate::avm2::error::make_error_1089; use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::{Object, ObjectPtr, TObject}; @@ -637,6 +637,15 @@ impl<'gc> TObject<'gc> for XmlListObject<'gc> { }) } + fn has_own_property_string( + self, + name: impl Into>, + activation: &mut Activation<'_, 'gc>, + ) -> Result> { + let multiname = string_to_multiname(activation, name.into()); + Ok(self.has_own_property(&multiname)) + } + // ECMA-357 9.2.1.2 [[Put]] (P, V) fn set_property_local( self,