Bug 1305891 - Part 3: Replace GetIndex() with the index from mOculusController; r?kip
MozReview-Commit-ID: HHdzsxg5voi
--- 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;