From 8f6736da74a9b1c36ab4091a04f3c6b7c0d2677e Mon Sep 17 00:00:00 2001 From: Lord-McSweeney Date: Wed, 31 Jul 2024 14:09:12 -0700 Subject: [PATCH] avm2: Store a `DisplayObject` instead of `Option` in `StageObject` --- core/src/avm2/object/stage_object.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/src/avm2/object/stage_object.rs b/core/src/avm2/object/stage_object.rs index bdabcd2b9..5273eef7e 100644 --- a/core/src/avm2/object/stage_object.rs +++ b/core/src/avm2/object/stage_object.rs @@ -25,8 +25,8 @@ pub struct StageObjectData<'gc> { /// The base data common to all AVM2 objects. base: RefLock>, - /// The associated display object, if one exists. - display_object: Option>, + /// The associated display object. + display_object: DisplayObject<'gc>, } impl<'gc> StageObject<'gc> { @@ -49,7 +49,7 @@ impl<'gc> StageObject<'gc> { activation.context.gc_context, StageObjectData { base: ScriptObjectData::new(class).into(), - display_object: Some(display_object), + display_object, }, )); instance.install_instance_slots(activation.context.gc_context); @@ -99,7 +99,7 @@ impl<'gc> StageObject<'gc> { activation.context.gc_context, StageObjectData { base: ScriptObjectData::new(class).into(), - display_object: Some(display_object), + display_object, }, )); this.install_instance_slots(activation.context.gc_context); @@ -124,7 +124,7 @@ impl<'gc> TObject<'gc> for StageObject<'gc> { } fn as_display_object(&self) -> Option> { - self.0.display_object + Some(self.0.display_object) } fn value_of(&self, _mc: &Mutation<'gc>) -> Result, Error<'gc>> {