diff --git a/src/core/core.controller.js b/src/core/core.controller.js index b12c430a4..b1fd23875 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -180,13 +180,12 @@ if (dataset.controller) { dataset.controller.updateIndex(datasetIndex); - return; - } + } else { + dataset.controller = new Chart.controllers[type](this, datasetIndex); - dataset.controller = new Chart.controllers[type](this, datasetIndex); - - if (resetNewControllers) { - dataset.controller.reset(); + if (resetNewControllers) { + dataset.controller.reset(); + } } }, this); @@ -210,11 +209,11 @@ // In case the entire data object changed this.tooltip._data = this.data; - Chart.scaleService.update(this, this.chart.width, this.chart.height); - // Make sure dataset controllers are updated and new controllers are reset this.buildOrUpdateControllers(true); + Chart.scaleService.update(this, this.chart.width, this.chart.height); + // Make sure all dataset controllers have correct meta data counts helpers.each(this.data.datasets, function(dataset, datasetIndex) { dataset.controller.buildOrUpdateElements();