@@ -289,10 +289,10 @@ where
289289 // the client window and the compositor. This channel is unique because
290290 // messages to client may need to pump a platform-specific event loop
291291 // to deliver the message.
292+ let event_loop_waker = embedder. create_event_loop_waker ( ) ;
292293 let ( compositor_proxy, compositor_receiver) =
293- create_compositor_channel ( embedder. create_event_loop_waker ( ) ) ;
294- let ( embedder_proxy, embedder_receiver) =
295- create_embedder_channel ( embedder. create_event_loop_waker ( ) ) ;
294+ create_compositor_channel ( event_loop_waker. clone ( ) ) ;
295+ let ( embedder_proxy, embedder_receiver) = create_embedder_channel ( event_loop_waker. clone ( ) ) ;
296296 let time_profiler_chan = profile_time:: Profiler :: create (
297297 & opts. time_profiling ,
298298 opts. time_profiler_trace_path . clone ( ) ,
@@ -368,8 +368,8 @@ where
368368
369369 // For the moment, we enable use both the webxr crate and the rust-webvr crate,
370370 // but we are migrating over to just using webxr.
371- let mut webxr_main_thread =
372- webxr_api :: MainThreadRegistry :: new ( ) . expect ( "Failed to create WebXR device registry" ) ;
371+ let mut webxr_main_thread = webxr_api :: MainThreadRegistry :: new ( event_loop_waker )
372+ . expect ( "Failed to create WebXR device registry" ) ;
373373 if pref ! ( dom. webvr. enabled) || pref ! ( dom. webxr. enabled) {
374374 embedder. register_webxr ( & mut webxr_main_thread) ;
375375 }
0 commit comments