Bug 1336287 - Checking OpenVR system is not null before HandleInput(); r?kip
MozReview-Commit-ID: 6J7rO3JXrrr
--- a/gfx/vr/gfxVROpenVR.cpp
+++ b/gfx/vr/gfxVROpenVR.cpp
@@ -509,26 +509,26 @@ VRSystemManagerOpenVR::GetHMDs(nsTArray<
if (mOpenVRHMD) {
aHMDResult.AppendElement(mOpenVRHMD);
}
}
void
VRSystemManagerOpenVR::HandleInput()
{
+ // mVRSystem is available after VRDisplay is created
+ // at GetHMDs().
+ if (!mVRSystem) {
+ return;
+ }
+
RefPtr<impl::VRControllerOpenVR> controller;
vr::VRControllerState_t state;
uint32_t axis = 0;
- if (!mOpenVRInstalled) {
- return;
- }
-
- MOZ_ASSERT(mVRSystem);
-
vr::TrackedDevicePose_t poses[vr::k_unMaxTrackedDeviceCount];
mVRSystem->GetDeviceToAbsoluteTrackingPose(vr::TrackingUniverseSeated, 0.0f,
poses, vr::k_unMaxTrackedDeviceCount);
// Process OpenVR controller state
for (uint32_t i = 0; i < mOpenVRController.Length(); ++i) {
controller = mOpenVRController[i];
MOZ_ASSERT(mVRSystem->GetTrackedDeviceClass(controller->GetTrackedIndex())