@@ -369,9 +369,8 @@ pub trait TDisplayObjectContainer<'gc>:
369369 fn remove_child_directly ( & self , context : & mut UpdateContext < ' gc > , child : DisplayObject < ' gc > ) {
370370 dispatch_removed_event ( child, context) ;
371371 let this: DisplayObjectContainer < ' gc > = * self ;
372- let mut write = self . raw_container_mut ( context. gc ( ) ) ;
373- write. remove_child_from_depth_list ( child) ;
374- drop ( write) ;
372+ self . raw_container_mut ( context. gc ( ) )
373+ . remove_child_from_depth_list ( child) ;
375374
376375 let removed_from_render_list =
377376 ChildContainer :: remove_child_from_render_list ( this, child, context) ;
@@ -447,14 +446,12 @@ pub trait TDisplayObjectContainer<'gc>:
447446 dispatch_removed_event ( * removed, context) ;
448447 }
449448
450- let mut write = self . raw_container_mut ( context. gc ( ) ) ;
451-
452449 for removed in removed_list {
453450 // The `remove_range` method is only ever called as a result of an ActionScript
454451 // call
455452 removed. set_placed_by_script ( true ) ;
456- write . remove_child_from_depth_list ( removed ) ;
457- drop ( write ) ;
453+ self . raw_container_mut ( context . gc ( ) )
454+ . remove_child_from_depth_list ( removed ) ;
458455
459456 let this: DisplayObjectContainer < ' gc > = * self ;
460457 ChildContainer :: remove_child_from_render_list ( this, removed, context) ;
@@ -464,11 +461,8 @@ pub trait TDisplayObjectContainer<'gc>:
464461 } else if removed. object2 ( ) . is_some ( ) {
465462 removed. set_parent ( context, None ) ;
466463 }
467-
468- write = self . raw_container_mut ( context. gc ( ) ) ;
469464 }
470465
471- drop ( write) ;
472466 let this: DisplayObject < ' _ > = ( * self ) . into ( ) ;
473467 this. invalidate_cached_bitmap ( ) ;
474468 }
0 commit comments