diff --git a/core/src/avm2/e4x.rs b/core/src/avm2/e4x.rs index 6aa189143928..99b970071139 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 000000000000..da29283aaa47 --- /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 000000000000..8d03c97300af 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 000000000000..dbee897f5863 --- /dev/null +++ b/tests/tests/swfs/avm2/xml_equals_namespace_check/test.toml @@ -0,0 +1 @@ +num_frames = 1