From: Dan Vanderkam Date: Sat, 9 Feb 2013 00:39:14 +0000 (-0500) Subject: Fix Issue 347: three-finger zoom crashes the display on iOS X-Git-Tag: v1.0.0~90 X-Git-Url: https://adrianiainlam.tk/git/?a=commitdiff_plain;h=48cdd6c4fd6b6ca31e4a8e5cc0f71d641594d841;p=dygraphs.git Fix Issue 347: three-finger zoom crashes the display on iOS --- 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;