3
3
use std:: cell:: Ref ;
4
4
5
5
use crate :: avm2:: activation:: Activation ;
6
+ use crate :: avm2:: bytearray:: ByteArrayStorage ;
6
7
use crate :: avm2:: object:: { ByteArrayObject , TObject } ;
7
8
use crate :: avm2:: property_map:: PropertyMap ;
8
9
use crate :: avm2:: script:: Script ;
@@ -393,16 +394,10 @@ impl<'gc> Domain<'gc> {
393
394
self ,
394
395
activation : & mut Activation < ' _ , ' gc > ,
395
396
) -> Result < ( ) , Error < ' gc > > {
396
- let bytearray_class = activation. avm2 ( ) . classes ( ) . bytearray ;
397
+ let initial_data = vec ! [ 0 ; MIN_DOMAIN_MEMORY_LENGTH ] ;
398
+ let storage = ByteArrayStorage :: from_vec ( initial_data) ;
397
399
398
- let domain_memory = bytearray_class
399
- . construct ( activation, & [ ] ) ?
400
- . as_object ( )
401
- . unwrap ( ) ;
402
- domain_memory
403
- . as_bytearray_mut ( )
404
- . unwrap ( )
405
- . set_length ( MIN_DOMAIN_MEMORY_LENGTH ) ;
400
+ let domain_memory = ByteArrayObject :: from_storage ( activation, storage) ?;
406
401
407
402
let mut write = self . 0 . write ( activation. gc ( ) ) ;
408
403
@@ -415,10 +410,8 @@ impl<'gc> Domain<'gc> {
415
410
"Already initialized domain memory!"
416
411
) ;
417
412
418
- let bytearray = domain_memory. as_bytearray_object ( ) . unwrap ( ) ;
419
-
420
- write. domain_memory = Some ( bytearray) ;
421
- write. default_domain_memory = Some ( bytearray) ;
413
+ write. domain_memory = Some ( domain_memory) ;
414
+ write. default_domain_memory = Some ( domain_memory) ;
422
415
423
416
Ok ( ( ) )
424
417
}
0 commit comments