From 48cdd6c4fd6b6ca31e4a8e5cc0f71d641594d841 Mon Sep 17 00:00:00 2001 From: Dan Vanderkam Date: Fri, 8 Feb 2013 19:39:14 -0500 Subject: [PATCH] Fix Issue 347: three-finger zoom crashes the display on iOS --- dygraph-interaction-model.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dygraph-interaction-model.js b/dygraph-interaction-model.js index f29a52b..9afc3c1 100644 --- a/dygraph-interaction-model.js +++ b/dygraph-interaction-model.js @@ -385,8 +385,9 @@ Dygraph.Interaction.startTouch = function(event, g, context) { // This is just a swipe. context.initialPinchCenter = touches[0]; context.touchDirections = { x: true, y: true }; - } else if (touches.length == 2) { + } else if (touches.length >= 2) { // It's become a pinch! + // In case there are 3+ touches, we ignore all but the "first" two. // only screen coordinates can be averaged (data coords could be log scale). context.initialPinchCenter = { @@ -467,7 +468,7 @@ Dygraph.Interaction.moveTouch = function(event, g, context) { if (touches.length == 1) { xScale = 1.0; yScale = 1.0; - } else if (touches.length == 2) { + } else if (touches.length >= 2) { var initHalfWidth = (initialTouches[1].pageX - c_init.pageX); xScale = (touches[1].pageX - c_now.pageX) / initHalfWidth; -- 2.7.4