From 93cf7a13866a32c0a8c9aa4d72736991de307e19 Mon Sep 17 00:00:00 2001 From: Mike Welsh Date: Sun, 28 Jun 2020 23:37:50 -0700 Subject: [PATCH] text: Use retire_stack_frame after firing text bindings --- core/src/avm1.rs | 7 +------ core/src/display_object/edit_text.rs | 4 ++-- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/core/src/avm1.rs b/core/src/avm1.rs index 450138e3b..519433a2b 100644 --- a/core/src/avm1.rs +++ b/core/src/avm1.rs @@ -408,11 +408,6 @@ impl<'gc> Avm1<'gc> { !self.stack_frames.is_empty() } - /// Remove the current stack frame. - pub fn pop_stack_frame(&mut self) { - self.stack_frames.pop(); - } - /// Get the currently executing SWF version. pub fn current_swf_version(&self) -> u8 { self.current_stack_frame() @@ -517,7 +512,7 @@ impl<'gc> Avm1<'gc> { /// get it's return value, you won't get that value. Instead, retain a cell /// referencing the oldest activation frame and use that to retrieve the /// return value. - fn retire_stack_frame( + pub fn retire_stack_frame( &mut self, context: &mut UpdateContext<'_, 'gc, '_>, return_value: Value<'gc>, diff --git a/core/src/display_object/edit_text.rs b/core/src/display_object/edit_text.rs index c0ce4bbec..c00c0ebc0 100644 --- a/core/src/display_object/edit_text.rs +++ b/core/src/display_object/edit_text.rs @@ -748,7 +748,7 @@ impl<'gc> EditText<'gc> { } } - avm.pop_stack_frame(); + avm.retire_stack_frame(context, Value::Undefined); } bound @@ -797,7 +797,7 @@ impl<'gc> EditText<'gc> { context, ); let _ = object.set(property, text.into(), avm, context); - avm.pop_stack_frame(); + avm.retire_stack_frame(context, Value::Undefined); } } self.0.write(context.gc_context).firing_variable_binding = false;