diff --git a/core/src/avm2/e4x.rs b/core/src/avm2/e4x.rs index 6aa189143..99b970071 100644 --- a/core/src/avm2/e4x.rs +++ b/core/src/avm2/e4x.rs @@ -262,6 +262,10 @@ impl<'gc> E4XNode<'gc> { return false; } + if self.namespace().map(|ns| ns.uri) != other.namespace().map(|ns| ns.uri) { + return false; + } + let this = self.0.read(); let other = other.0.read(); diff --git a/tests/tests/swfs/avm2/xml_equals_namespace_check/output.txt b/tests/tests/swfs/avm2/xml_equals_namespace_check/output.txt new file mode 100644 index 000000000..da29283aa --- /dev/null +++ b/tests/tests/swfs/avm2/xml_equals_namespace_check/output.txt @@ -0,0 +1,2 @@ +true +false diff --git a/tests/tests/swfs/avm2/xml_equals_namespace_check/test.swf b/tests/tests/swfs/avm2/xml_equals_namespace_check/test.swf new file mode 100644 index 000000000..8d03c9730 Binary files /dev/null and b/tests/tests/swfs/avm2/xml_equals_namespace_check/test.swf differ diff --git a/tests/tests/swfs/avm2/xml_equals_namespace_check/test.toml b/tests/tests/swfs/avm2/xml_equals_namespace_check/test.toml new file mode 100644 index 000000000..dbee897f5 --- /dev/null +++ b/tests/tests/swfs/avm2/xml_equals_namespace_check/test.toml @@ -0,0 +1 @@ +num_frames = 1