Bug 1334977 - Checking mVRSystem is not nullptr before scannibg OpenVR controllers; r?kip draft
authorDaosheng Mu <daoshengmu@gmail.com>
Mon, 30 Jan 2017 17:37:16 +0800
changeset 467905 720b88db4b8128abb63791df948065b727396272
parent 467834 71224049c0b52ab190564d3ea0eab089a159a4cf
child 543800 2749828aee0e62aaee20367a8fd75ad14d3dbe42
push id43301
push userbmo:dmu@mozilla.com
push dateMon, 30 Jan 2017 10:28:43 +0000
reviewerskip
bugs1334977
milestone54.0a1
Bug 1334977 - Checking mVRSystem is not nullptr before scannibg OpenVR controllers; r?kip MozReview-Commit-ID: 6ViJqGp82t2
gfx/vr/gfxVROpenVR.cpp
--- a/gfx/vr/gfxVROpenVR.cpp
+++ b/gfx/vr/gfxVROpenVR.cpp
@@ -622,22 +622,22 @@ VRSystemManagerOpenVR::GetControllers(ns
   for (uint32_t i = 0; i < mOpenVRController.Length(); ++i) {
     aControllerResult.AppendElement(mOpenVRController[i]);
   }
 }
 
 void
 VRSystemManagerOpenVR::ScanForControllers()
 {
-  if (!mOpenVRInstalled) {
+  // mVRSystem is available after VRDisplay is created
+  // at GetHMDs().
+  if (!mVRSystem) {
     return;
   }
 
-  MOZ_ASSERT(mVRSystem);
-
   vr::TrackedDeviceIndex_t trackedIndexArray[vr::k_unMaxTrackedDeviceCount];
   uint32_t newControllerCount = 0;
   // Basically, we would have HMDs in the tracked devices,
   // but we are just interested in the controllers.
   for (vr::TrackedDeviceIndex_t trackedDevice = vr::k_unTrackedDeviceIndex_Hmd + 1;
        trackedDevice < vr::k_unMaxTrackedDeviceCount; ++trackedDevice) {
 
     if (!mVRSystem->IsTrackedDeviceConnected(trackedDevice)) {