Bug 1305891 - Part 3: Replace GetIndex() with the index from mOculusController; r?kip draft
authorDaosheng Mu <daoshengmu@gmail.com>
Mon, 13 Feb 2017 11:19:31 +0800
changeset 482675 406fc8f3cd241e176929cd9a137c25785d4374a3
parent 482674 3d9e727475ec19720456e665fbab4555f0abba69
child 545470 5f0c14d12e2c75b3ef1c01e4b46ee24c1946a4e6
push id45124
push userbmo:dmu@mozilla.com
push dateMon, 13 Feb 2017 07:55:08 +0000
reviewerskip
bugs1305891
milestone54.0a1
Bug 1305891 - Part 3: Replace GetIndex() with the index from mOculusController; r?kip MozReview-Commit-ID: HHdzsxg5voi
gfx/vr/gfxVROculus.cpp
--- a/gfx/vr/gfxVROculus.cpp
+++ b/gfx/vr/gfxVROculus.cpp
@@ -967,29 +967,29 @@ VRSystemManagerOculus::HandleInput()
                                          &inputState) == ovrSuccess;
 
   if (!hasInputState) {
     return;
   }
 
   for (uint32_t i = 0; i < mOculusController.Length(); ++i) {
     controller = mOculusController[i];
-    HandleButtonPress(controller->GetIndex(), inputState.Buttons);
+    HandleButtonPress(i, inputState.Buttons);
 
     axis = static_cast<uint32_t>(OculusControllerAxisType::IndexTrigger);
-    HandleAxisMove(controller->GetIndex(), axis, inputState.IndexTrigger[i]);
+    HandleAxisMove(i, axis, inputState.IndexTrigger[i]);
 
     axis = static_cast<uint32_t>(OculusControllerAxisType::HandTrigger);
-    HandleAxisMove(controller->GetIndex(), axis, inputState.HandTrigger[i]);
+    HandleAxisMove(i, axis, inputState.HandTrigger[i]);
 
     axis = static_cast<uint32_t>(OculusControllerAxisType::ThumbstickXAxis);
-    HandleAxisMove(controller->GetIndex(), axis, inputState.Thumbstick[i].x);
+    HandleAxisMove(i, axis, inputState.Thumbstick[i].x);
 
     axis = static_cast<uint32_t>(OculusControllerAxisType::ThumbstickYAxis);
-    HandleAxisMove(controller->GetIndex(), axis, -inputState.Thumbstick[i].y);
+    HandleAxisMove(i, axis, -inputState.Thumbstick[i].y);
 
     // Start to process pose
     ovrTrackingState state = ovr_GetTrackingState(mSession, 0.0, false);
     ovrPoseStatef& pose(state.HandPoses[i]);
     GamepadPoseState poseState;
 
     if (state.HandStatusFlags[i] & ovrStatus_OrientationTracked) {
       poseState.flags |= GamepadCapabilityFlags::Cap_Orientation;
@@ -1015,17 +1015,17 @@ VRSystemManagerOculus::HandleInput()
       poseState.linearVelocity[1] = pose.LinearVelocity.y;
       poseState.linearVelocity[2] = pose.LinearVelocity.z;
 
       poseState.flags |= GamepadCapabilityFlags::Cap_LinearAcceleration;
       poseState.linearAcceleration[0] = pose.LinearAcceleration.x;
       poseState.linearAcceleration[1] = pose.LinearAcceleration.y;
       poseState.linearAcceleration[2] = pose.LinearAcceleration.z;
     }
-    HandlePoseTracking(controller->GetIndex(), poseState, controller);
+    HandlePoseTracking(i, poseState, controller);
   }
 }
 
 void
 VRSystemManagerOculus::HandleButtonPress(uint32_t aControllerIdx,
                                          uint64_t aButtonPressed)
 {
   MOZ_ASSERT(sizeof(kOculusTouchLButton) / sizeof(ovrButton) ==
@@ -1123,17 +1123,17 @@ VRSystemManagerOculus::ScanForController
   if (inputState.ControllerType & ovrControllerType_RTouch) {
     activeControllerArray[newControllerCount] = ovrControllerType_RTouch;
     ++newControllerCount;
   }
 
   if (newControllerCount != mControllerCount) {
     // controller count is changed, removing the existing gamepads first.
     for (uint32_t i = 0; i < mOculusController.Length(); ++i) {
-      RemoveGamepad(mOculusController[i]->GetIndex());
+      RemoveGamepad(i);
     }
 
     mControllerCount = 0;
     mOculusController.Clear();
 
     // Re-adding controllers to VRControllerManager.
     for (uint32_t i = 0; i < newControllerCount; ++i) {
       GamepadHand hand;