Skip to content

Commit 6742973

Browse files
committed
avm1: Remove base_clip_unloaded flag in Activation
As the comment in `continue_if_base_clip_exists` said, this doesn't appear to be necessary anymore.
1 parent 9f57c21 commit 6742973

File tree

1 file changed

+1
-11
lines changed

1 file changed

+1
-11
lines changed

core/src/avm1/activation.rs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,6 @@ pub struct Activation<'a, 'gc: 'a> {
181181
/// This can be changed with `tellTarget` (via `ActionSetTarget` and `ActionSetTarget2`).
182182
target_clip: Option<DisplayObject<'gc>>,
183183

184-
/// Whether the base clip was removed when we started this frame.
185-
base_clip_unloaded: bool,
186-
187184
pub context: &'a mut UpdateContext<'gc>,
188185

189186
/// An identifier to refer to this activation by, when debugging.
@@ -251,7 +248,6 @@ impl<'a, 'gc> Activation<'a, 'gc> {
251248
constant_pool,
252249
base_clip,
253250
target_clip: Some(base_clip),
254-
base_clip_unloaded: base_clip.avm1_removed(),
255251
this,
256252
callee,
257253
local_registers: None,
@@ -274,7 +270,6 @@ impl<'a, 'gc> Activation<'a, 'gc> {
274270
constant_pool: self.constant_pool,
275271
base_clip: self.base_clip,
276272
target_clip: self.target_clip,
277-
base_clip_unloaded: self.base_clip_unloaded,
278273
this: self.this,
279274
callee: self.callee,
280275
local_registers: self.local_registers.clone(),
@@ -304,7 +299,6 @@ impl<'a, 'gc> Activation<'a, 'gc> {
304299
constant_pool: context.avm1.constant_pool(),
305300
base_clip,
306301
target_clip: Some(base_clip),
307-
base_clip_unloaded: base_clip.avm1_removed(),
308302
this: scope.locals_cell().into(),
309303
callee: None,
310304
local_registers: None,
@@ -3077,11 +3071,7 @@ impl<'a, 'gc> Activation<'a, 'gc> {
30773071
/// If the clip executing a script is removed during execution, return from this activation.
30783072
/// Should be called after any action that could potentially destroy a clip (gotos, etc.)
30793073
fn continue_if_base_clip_exists(&self) -> Result<FrameControl<'gc>, Error<'gc>> {
3080-
// The exception is `unload` clip event handlers, which currently are called when the clip
3081-
// has already been removed. If this activation started with the base clip already removed,
3082-
// this is an unload handler, so allow the code to run regardless.
3083-
// (This may no longer be necessary once #1535 is fixed.)
3084-
if !self.base_clip_unloaded && self.base_clip.avm1_removed() {
3074+
if self.base_clip.avm1_removed() {
30853075
Ok(FrameControl::Return(ReturnType::Explicit(Value::Undefined)))
30863076
} else {
30873077
Ok(FrameControl::Continue)

0 commit comments

Comments
 (0)