From 693e29a82d3b570ccdbc51647b49c3fe33162c41 Mon Sep 17 00:00:00 2001 From: CUB3D Date: Sun, 12 Feb 2023 20:42:01 +0000 Subject: [PATCH] avm1: Fix test failures --- core/src/avm1/activation.rs | 12 ------------ core/src/avm1/value.rs | 5 ++++- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/core/src/avm1/activation.rs b/core/src/avm1/activation.rs index 6a33d32cb..dda974580 100644 --- a/core/src/avm1/activation.rs +++ b/core/src/avm1/activation.rs @@ -582,18 +582,6 @@ impl<'a, 'gc> Activation<'a, 'gc> { let a = self.context.avm1.pop().to_primitive(self)?; let b = self.context.avm1.pop().to_primitive(self)?; - let a = if let Value::MovieClip(_, _) = a { - a.coerce_to_string(self)?.into() - } else { - a - }; - - let b = if let Value::MovieClip(_, _) = b { - b.coerce_to_string(self)?.into() - } else { - b - }; - let result: Value<'_> = match (a, b) { (Value::String(a), Value::String(b)) => { AvmString::concat(self.context.gc_context, b, a).into() diff --git a/core/src/avm1/value.rs b/core/src/avm1/value.rs index c63068af9..350eee160 100644 --- a/core/src/avm1/value.rs +++ b/core/src/avm1/value.rs @@ -393,7 +393,10 @@ impl<'gc> Value<'gc> { Value::Bool(true) if activation.swf_version() < 5 => "1".into(), Value::Bool(false) if activation.swf_version() < 5 => "0".into(), Value::Object(object) => { - if let Some(object) = object.as_display_object() { + if let Some(object) = object + .as_display_object() + .filter(|_| !matches!(object, Object::SuperObject(_))) + { // StageObjects are special-cased to return their path. AvmString::new(activation.context.gc_context, object.path()) } else {