From dad39631cffe75abc53a0960c4786b2168f5fda8 Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Fri, 3 Nov 2023 01:45:04 +0100 Subject: [PATCH] avm2: Don't add ClassDefinition to AMF0 objects --- core/src/avm2/amf.rs | 14 +++++++++----- .../swfs/avm2/socket_read_write_object/test.toml | 1 - 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/core/src/avm2/amf.rs b/core/src/avm2/amf.rs index 7dce5c5ec..1dc8beaa3 100644 --- a/core/src/avm2/amf.rs +++ b/core/src/avm2/amf.rs @@ -126,11 +126,15 @@ pub fn serialize_value<'gc>( recursive_serialize(activation, o, &mut object_body, amf_version).unwrap(); Some(AmfValue::Object( object_body, - Some(ClassDefinition { - name: "".to_string(), - attributes: EnumSet::only(Attribute::Dynamic), - static_properties: Vec::new(), - }), + if amf_version == AMFVersion::AMF3 { + Some(ClassDefinition { + name: "".to_string(), + attributes: EnumSet::only(Attribute::Dynamic), + static_properties: Vec::new(), + }) + } else { + None + }, )) } else { tracing::warn!( diff --git a/tests/tests/swfs/avm2/socket_read_write_object/test.toml b/tests/tests/swfs/avm2/socket_read_write_object/test.toml index b80ef1258..0d5c2c67f 100644 --- a/tests/tests/swfs/avm2/socket_read_write_object/test.toml +++ b/tests/tests/swfs/avm2/socket_read_write_object/test.toml @@ -1,2 +1 @@ num_ticks = 10 -known_failure = true # Flash serializes AMF0 Object as object, but ruffle as typed object