Do not send stale vive data as valid after deactivating.

(cherry picked from commit e6cc1fabe0)
This commit is contained in:
howard-stearns 2016-06-02 12:38:54 -07:00 committed by Howard Stearns
parent e92f1a8c5a
commit 849bee977a

View file

@ -96,6 +96,11 @@ void OpenVrDisplayPlugin::internalDeactivate() {
Parent::internalDeactivate();
_container->setIsOptionChecked(StandingHMDSensorMode, false);
if (_system) {
// Invalidate poses. It's fine if someone else sets these shared values, but we're about to stop updating them, and
// we don't want ViveControllerManager to consider old values to be valid.
for (int i = 0; i < vr::k_unMaxTrackedDeviceCount; i++) {
_trackedDevicePose[i].bPoseIsValid = false;
}
releaseOpenVrSystem();
_system = nullptr;
}