Commit 083faa86 authored by Brandon Jones's avatar Brandon Jones Committed by Commit Bot

Improve checks on XR input matrices.

Should prevent crashes due to the matrix info not being sent properly.

Bug: 820377
Change-Id: I36ee0af1f60333e55b3a076e72123fe4f5f3099f
Reviewed-on: https://chromium-review.googlesource.com/957808Reviewed-by: default avatarBrian Sheedy <bsheedy@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542332}
parent 7e4ce568
...@@ -435,7 +435,7 @@ void XRSession::UpdateInputSourceState( ...@@ -435,7 +435,7 @@ void XRSession::UpdateInputSourceState(
input_source->SetEmulatedPosition(desc->emulated_position); input_source->SetEmulatedPosition(desc->emulated_position);
if (desc->pointer_offset) { if (desc->pointer_offset && desc->pointer_offset->matrix.has_value()) {
const WTF::Vector<float>& m = desc->pointer_offset->matrix.value(); const WTF::Vector<float>& m = desc->pointer_offset->matrix.value();
std::unique_ptr<TransformationMatrix> pointer_matrix = std::unique_ptr<TransformationMatrix> pointer_matrix =
TransformationMatrix::Create(m[0], m[1], m[2], m[3], m[4], m[5], m[6], TransformationMatrix::Create(m[0], m[1], m[2], m[3], m[4], m[5], m[6],
...@@ -445,7 +445,7 @@ void XRSession::UpdateInputSourceState( ...@@ -445,7 +445,7 @@ void XRSession::UpdateInputSourceState(
} }
} }
if (state->grip) { if (state->grip && state->grip->matrix.has_value()) {
const Vector<float>& m = state->grip->matrix.value(); const Vector<float>& m = state->grip->matrix.value();
std::unique_ptr<TransformationMatrix> grip_matrix = std::unique_ptr<TransformationMatrix> grip_matrix =
TransformationMatrix::Create(m[0], m[1], m[2], m[3], m[4], m[5], m[6], TransformationMatrix::Create(m[0], m[1], m[2], m[3], m[4], m[5], m[6],
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment