diff --git a/core/src/avm2/activation.rs b/core/src/avm2/activation.rs index 7bddf88bed3d..e695382240f5 100644 --- a/core/src/avm2/activation.rs +++ b/core/src/avm2/activation.rs @@ -1309,9 +1309,12 @@ impl<'a, 'gc> Activation<'a, 'gc> { } // (fast) side path for dictionary/array-likes - // NOTE: FP behaves differently here when the public namespace isn't + // Note that this path doesn't activate when the public namespace isn't // included in the multiname's namespace set - if multiname.has_lazy_name() && !multiname.has_lazy_ns() { + if multiname.has_lazy_name() + && !multiname.has_lazy_ns() + && multiname.contains_public_namespace() + { // `MultinameL` is the only form of multiname that allows fast-path // or alternate-path lookups based on the local name *value*, // rather than it's string representation. @@ -1370,9 +1373,12 @@ impl<'a, 'gc> Activation<'a, 'gc> { } // side path for dictionary/arrays (TODO) - // NOTE: FP behaves differently here when the public namespace isn't + // Note that this path doesn't activate when the public namespace isn't // included in the multiname's namespace set - if multiname.has_lazy_name() && !multiname.has_lazy_ns() { + if multiname.has_lazy_name() + && !multiname.has_lazy_ns() + && multiname.contains_public_namespace() + { // `MultinameL` is the only form of multiname that allows fast-path // or alternate-path lookups based on the local name *value*, // rather than it's string representation.