Check that setRow is not negative, fixes #644. (#773)
[dygraphs.git] / src / dygraph-canvas.js
index 256edc1..bd37e67 100644 (file)
@@ -28,6 +28,7 @@
 "use strict";
 
 import * as utils from './dygraph-utils';
+import Dygraph from './dygraph';
 
 
 /**
@@ -153,7 +154,7 @@ DygraphCanvasRenderer._drawStyledLine = function(e,
   var ctx = e.drawingContext;
   ctx.save();
   if (stroking) {
-    ctx.installPattern(strokePattern);
+    if (ctx.setLineDash) ctx.setLineDash(strokePattern);
   }
 
   var pointsOnLine = DygraphCanvasRenderer._drawSeries(
@@ -162,7 +163,7 @@ DygraphCanvasRenderer._drawStyledLine = function(e,
       e, pointsOnLine, drawPointCallback, color, pointSize);
 
   if (stroking) {
-    ctx.uninstallPattern();
+    if (ctx.setLineDash) ctx.setLineDash([]);
   }
 
   ctx.restore();
@@ -219,18 +220,18 @@ DygraphCanvasRenderer._drawSeries = function(e,
       prevCanvasX = prevCanvasY = null;
     } else {
       isIsolated = false;
-      if (drawGapPoints || !prevCanvasX) {
+      if (drawGapPoints || prevCanvasX === null) {
         iter.nextIdx_ = i;
         iter.next();
         nextCanvasY = iter.hasNext ? iter.peek.canvasy : null;
 
         var isNextCanvasYNullOrNaN = nextCanvasY === null ||
             nextCanvasY != nextCanvasY;
-        isIsolated = (!prevCanvasX && isNextCanvasYNullOrNaN);
+        isIsolated = (prevCanvasX === null && isNextCanvasYNullOrNaN);
         if (drawGapPoints) {
           // Also consider a point to be "isolated" if it's adjacent to a
           // null point, excluding the graph edges.
-          if ((!first && !prevCanvasX) ||
+          if ((!first && prevCanvasX === null) ||
               (iter.hasNext && isNextCanvasYNullOrNaN)) {
             isIsolated = true;
           }