avm2: Use 'has_own_property' to check for prop in 'resolve_definition'

If Actionscript explicitly sets the property to 'undefined', we
should still succeed.
This commit is contained in:
Aaron Hill 2023-11-11 17:53:23 -05:00 committed by TÖRÖK Attila
parent f04496d1f3
commit c360d45729
3 changed files with 2 additions and 5 deletions

View File

@ -284,11 +284,10 @@ impl<'a, 'gc> Activation<'a, 'gc> {
} else if let Some(result) = outer_scope.resolve(name, self)? { } else if let Some(result) = outer_scope.resolve(name, self)? {
Ok(Some(result)) Ok(Some(result))
} else if let Some(global) = self.global_scope() { } else if let Some(global) = self.global_scope() {
let prop = global.base().get_property_local(name, self)?; if !global.base().has_own_property(name) {
if prop == Value::Undefined {
return Ok(None); return Ok(None);
} }
Ok(Some(prop)) return Ok(Some(global.base().get_property_local(name, self)?));
} else { } else {
Ok(None) Ok(None)
} }

View File

@ -1,2 +1 @@
num_ticks = 1 num_ticks = 1
known_failure = true

View File

@ -1,2 +1 @@
num_ticks = 1 num_ticks = 1
known_failure = true