Fix a race condition in the resize listener & use the correct merged config object for the responsive setting

This commit is contained in:
Evert Timberg 2015-10-12 09:16:49 -04:00
parent 81095e777a
commit 1232ca53f0

View File

@ -58,19 +58,18 @@
Chart.helpers.retinaScale(this);
// Always bind this so that if the responsive state changes we still work
if (config) {
this.controller = new Chart.Controller(this);
}
var _this = this;
Chart.helpers.addResizeListener(context.canvas.parentNode, function() {
if (config.options.responsive) {
if (_this.controller && _this.controller.config.options.responsive) {
_this.controller.resize();
}
});
if (config) {
this.controller = new Chart.Controller(this);
return this.controller;
}
return this;
return this.controller ? this.controller : this;
};