| Index: cc/layer_tree_host.cc
|
| diff --git a/cc/layer_tree_host.cc b/cc/layer_tree_host.cc
|
| index 91276deb8ad5bcb005ec733ce1713e3e0f543d63..059741eb31dbea716be01a0af06a729a8cd27e02 100644
|
| --- a/cc/layer_tree_host.cc
|
| +++ b/cc/layer_tree_host.cc
|
| @@ -796,7 +796,13 @@ gfx::PointF LayerTreeHost::adjustEventPointForPinchZoom(const gfx::PointF& zoome
|
|
|
| // Scale to screen space before applying implTransform inverse.
|
| gfx::PointF zoomedScreenspacePoint = gfx::ScalePoint(zoomedViewportPoint, deviceScaleFactor());
|
| - gfx::Transform inverseImplTransform = MathUtil::inverse(m_implTransform);
|
| +
|
| + // Note carefully, this remains an identity matrix if m_implTransform is uninvertible.
|
| + // TODO: see if there is something more reasonable we can do if m_implTransform really is uninvertible.
|
| + // or perhaps we can just DCHECK that m_implTransform should be invertible?
|
| + gfx::Transform inverseImplTransform(gfx::Transform::kSkipInitialization);
|
| + if (!m_implTransform.GetInverse(&inverseImplTransform))
|
| + inverseImplTransform.MakeIdentity();
|
|
|
| bool wasClipped = false;
|
| gfx::PointF unzoomedScreenspacePoint = MathUtil::projectPoint(inverseImplTransform, zoomedScreenspacePoint, wasClipped);
|
|
|