Switch from mem::uninitialized() to mem::MaybeUninit::uninit() in poll_next_event_with_pose

Fixes panic.
This commit is contained in:
BeMacized
2022-08-14 18:31:07 +02:00
committed by GitHub
parent c8dcbc1701
commit 449cb77c1e

View File

@ -123,17 +123,17 @@ impl System {
&self, &self,
origin: TrackingUniverseOrigin, origin: TrackingUniverseOrigin,
) -> Option<(EventInfo, TrackedDevicePose)> { ) -> Option<(EventInfo, TrackedDevicePose)> {
let mut event = unsafe { mem::uninitialized() }; let mut event = mem::MaybeUninit::uninit();
let mut pose = unsafe { mem::uninitialized() }; let mut pose = mem::MaybeUninit::uninit();
if unsafe { if unsafe {
self.0.PollNextEventWithPose.unwrap()( self.0.PollNextEventWithPose.unwrap()(
origin as sys::ETrackingUniverseOrigin, origin as sys::ETrackingUniverseOrigin,
&mut event, event.as_mut_ptr(),
mem::size_of_val(&event) as u32, mem::size_of_val(&event) as u32,
&mut pose as *mut _ as *mut _, pose.as_mut_ptr() as *mut _,
) )
} { } {
Some((event.into(), pose)) unsafe { Some((event.assume_init().into(), pose.assume_init())) }
} else { } else {
None None
} }