avm1: Fix list of elements in Array ctor (fix #1195)
This commit is contained in:
parent
6bb6bcab7a
commit
9e13058e04
|
@ -103,17 +103,9 @@ pub fn constructor<'gc>(
|
||||||
}
|
}
|
||||||
|
|
||||||
if !consumed {
|
if !consumed {
|
||||||
let mut length = 0;
|
for (i, arg) in args.iter().enumerate() {
|
||||||
for arg in args {
|
this.set_array_element(i, arg.to_owned(), activation.context.gc_context);
|
||||||
this.define_value(
|
|
||||||
activation.context.gc_context,
|
|
||||||
&length.to_string(),
|
|
||||||
arg.to_owned(),
|
|
||||||
EnumSet::empty(),
|
|
||||||
);
|
|
||||||
length += 1;
|
|
||||||
}
|
}
|
||||||
this.set_length(activation.context.gc_context, length);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(Value::Undefined)
|
Ok(Value::Undefined)
|
||||||
|
@ -144,12 +136,9 @@ pub fn array_function<'gc>(
|
||||||
}
|
}
|
||||||
|
|
||||||
if !consumed {
|
if !consumed {
|
||||||
let mut length = 0;
|
for (i, arg) in args.iter().enumerate() {
|
||||||
for arg in args {
|
array_obj.set_array_element(i, arg.to_owned(), activation.context.gc_context);
|
||||||
array_obj.set_array_element(length, arg.to_owned(), activation.context.gc_context);
|
|
||||||
length += 1;
|
|
||||||
}
|
}
|
||||||
array_obj.set_length(activation.context.gc_context, length);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(array_obj.into())
|
Ok(array_obj.into())
|
||||||
|
|
Loading…
Reference in New Issue