From 8ebdd96141ca017125225b8fb6eea53dba855184 Mon Sep 17 00:00:00 2001
From: Akihiko Kusanagi <nagi@nagi-p.com>
Date: Wed, 22 May 2019 00:31:40 +0800
Subject: [PATCH 1/2] Fix regression with lineTension

---
 docs/charts/radar.md                | 2 +-
 src/controllers/controller.line.js  | 8 ++++----
 src/controllers/controller.radar.js | 6 +++---
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/docs/charts/radar.md b/docs/charts/radar.md
index 1b1c7ef0714..168474f32f3 100644
--- a/docs/charts/radar.md
+++ b/docs/charts/radar.md
@@ -75,7 +75,7 @@ The radar chart allows a number of properties to be specified for each dataset.
 | [`borderWidth`](#line-styling) | `number` | - | - | `3`
 | [`fill`](#line-styling) | <code>boolean&#124;string</code> | - | - | `true`
 | [`label`](#general) | `string` | - | - | `''`
-| [`lineTension`](#line-styling) | `number` | - | - | `0.4`
+| [`lineTension`](#line-styling) | `number` | - | - | `0`
 | [`pointBackgroundColor`](#point-styling) | `Color` | Yes | Yes | `'rgba(0, 0, 0, 0.1)'`
 | [`pointBorderColor`](#point-styling) | `Color` | Yes | Yes | `'rgba(0, 0, 0, 0.1)'`
 | [`pointBorderWidth`](#point-styling) | `number` | Yes | Yes | `1`
diff --git a/src/controllers/controller.line.js b/src/controllers/controller.line.js
index 614503c6db4..62501cbcd5b 100644
--- a/src/controllers/controller.line.js
+++ b/src/controllers/controller.line.js
@@ -73,8 +73,8 @@ module.exports = DatasetController.extend({
 		var line = meta.dataset;
 		var points = meta.data || [];
 		var options = me.chart.options;
-		var dataset = me.getDataset();
-		var showLine = me._showLine = valueOrDefault(me._config.showLine, options.showLines);
+		var datasetOpts = me._config;
+		var showLine = me._showLine = valueOrDefault(datasetOpts.showLine, options.showLines);
 		var i, ilen;
 
 		me._xScale = me.getScaleForId(meta.xAxisID);
@@ -83,8 +83,8 @@ module.exports = DatasetController.extend({
 		// Update Line
 		if (showLine) {
 			// Compatibility: If the properties are defined with only the old name, use those values
-			if ((dataset.tension !== undefined) && (dataset.lineTension === undefined)) {
-				dataset.lineTension = dataset.tension;
+			if ((datasetOpts.tension !== undefined) && (datasetOpts.lineTension === undefined)) {
+				datasetOpts.lineTension = datasetOpts.tension;
 			}
 
 			// Utility
diff --git a/src/controllers/controller.radar.js b/src/controllers/controller.radar.js
index d83e472a739..4edaf286158 100644
--- a/src/controllers/controller.radar.js
+++ b/src/controllers/controller.radar.js
@@ -69,12 +69,12 @@ module.exports = DatasetController.extend({
 		var line = meta.dataset;
 		var points = meta.data || [];
 		var scale = me.chart.scale;
-		var dataset = me.getDataset();
+		var datasetOpts = me._config;
 		var i, ilen;
 
 		// Compatibility: If the properties are defined with only the old name, use those values
-		if ((dataset.tension !== undefined) && (dataset.lineTension === undefined)) {
-			dataset.lineTension = dataset.tension;
+		if ((datasetOpts.tension !== undefined) && (datasetOpts.lineTension === undefined)) {
+			datasetOpts.lineTension = datasetOpts.tension;
 		}
 
 		// Utility

From 2e23fd561059879f8c14d9ac77c60fe5d17eebda Mon Sep 17 00:00:00 2001
From: Akihiko Kusanagi <nagi@nagi-p.com>
Date: Wed, 22 May 2019 16:49:49 +0800
Subject: [PATCH 2/2] Minor fixes based on feedback

---
 src/controllers/controller.line.js  | 16 ++++++++--------
 src/controllers/controller.radar.js |  6 +++---
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/controllers/controller.line.js b/src/controllers/controller.line.js
index 62501cbcd5b..c2d67549bfa 100644
--- a/src/controllers/controller.line.js
+++ b/src/controllers/controller.line.js
@@ -73,8 +73,8 @@ module.exports = DatasetController.extend({
 		var line = meta.dataset;
 		var points = meta.data || [];
 		var options = me.chart.options;
-		var datasetOpts = me._config;
-		var showLine = me._showLine = valueOrDefault(datasetOpts.showLine, options.showLines);
+		var config = me._config;
+		var showLine = me._showLine = valueOrDefault(config.showLine, options.showLines);
 		var i, ilen;
 
 		me._xScale = me.getScaleForId(meta.xAxisID);
@@ -83,8 +83,8 @@ module.exports = DatasetController.extend({
 		// Update Line
 		if (showLine) {
 			// Compatibility: If the properties are defined with only the old name, use those values
-			if ((datasetOpts.tension !== undefined) && (datasetOpts.lineTension === undefined)) {
-				datasetOpts.lineTension = datasetOpts.tension;
+			if (config.tension !== undefined && config.lineTension === undefined) {
+				config.lineTension = config.tension;
 			}
 
 			// Utility
@@ -161,7 +161,7 @@ module.exports = DatasetController.extend({
 	 */
 	_resolveDatasetElementOptions: function(element) {
 		var me = this;
-		var datasetOpts = me._config;
+		var config = me._config;
 		var custom = element.custom || {};
 		var options = me.chart.options;
 		var lineOptions = options.elements.line;
@@ -170,9 +170,9 @@ module.exports = DatasetController.extend({
 		// The default behavior of lines is to break at null values, according
 		// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158
 		// This option gives lines the ability to span gaps
-		values.spanGaps = valueOrDefault(datasetOpts.spanGaps, options.spanGaps);
-		values.tension = valueOrDefault(datasetOpts.lineTension, lineOptions.tension);
-		values.steppedLine = resolve([custom.steppedLine, datasetOpts.steppedLine, lineOptions.stepped]);
+		values.spanGaps = valueOrDefault(config.spanGaps, options.spanGaps);
+		values.tension = valueOrDefault(config.lineTension, lineOptions.tension);
+		values.steppedLine = resolve([custom.steppedLine, config.steppedLine, lineOptions.stepped]);
 
 		return values;
 	},
diff --git a/src/controllers/controller.radar.js b/src/controllers/controller.radar.js
index 4edaf286158..c789250ef12 100644
--- a/src/controllers/controller.radar.js
+++ b/src/controllers/controller.radar.js
@@ -69,12 +69,12 @@ module.exports = DatasetController.extend({
 		var line = meta.dataset;
 		var points = meta.data || [];
 		var scale = me.chart.scale;
-		var datasetOpts = me._config;
+		var config = me._config;
 		var i, ilen;
 
 		// Compatibility: If the properties are defined with only the old name, use those values
-		if ((datasetOpts.tension !== undefined) && (datasetOpts.lineTension === undefined)) {
-			datasetOpts.lineTension = datasetOpts.tension;
+		if (config.tension !== undefined && config.lineTension === undefined) {
+			config.lineTension = config.tension;
 		}
 
 		// Utility