diff --git a/components/servo/lib.rs b/components/servo/lib.rs index 134181db511..50855598af1 100644 --- a/components/servo/lib.rs +++ b/components/servo/lib.rs @@ -978,25 +978,25 @@ fn create_compositor_channel( let (compositor_ipc_sender, compositor_ipc_receiver) = ipc::channel().expect("ipc channel failure"); - let sender_clone = sender.clone(); + + let cross_process_compositor_api = CrossProcessCompositorApi(compositor_ipc_sender); + let compositor_proxy = CompositorProxy { + sender, + cross_process_compositor_api, + event_loop_waker, + }; + + let compositor_proxy_clone = compositor_proxy.clone(); ROUTER.add_route( compositor_ipc_receiver.to_opaque(), Box::new(move |message| { - let _ = sender_clone.send(CompositorMsg::CrossProcess( + let _ = compositor_proxy_clone.send(CompositorMsg::CrossProcess( message.to().expect("Could not convert Compositor message"), )); }), ); - let cross_process_compositor_api = CrossProcessCompositorApi(compositor_ipc_sender); - ( - CompositorProxy { - sender, - cross_process_compositor_api, - event_loop_waker, - }, - CompositorReceiver { receiver }, - ) + (compositor_proxy, CompositorReceiver { receiver }) } fn get_layout_factory(legacy_layout: bool) -> Arc {