From: jcopperfield <33193571+jcopperfield@users.noreply.github.com> Date: Wed, 23 May 2018 01:11:28 +0000 (+0200) Subject: Bug: Avoid updating Chart when `responsive: true` and Chart is hidden. (#5172) X-Git-Tag: v2.7.3~1^2~33 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=25b7f41bac120fd4fc4ed72851b501381f61982e;p=thirdparty%2FChart.js.git Bug: Avoid updating Chart when `responsive: true` and Chart is hidden. (#5172) * Bug: Avoid updating Chart when `responsive: true` and Chart is hidden. * Prevent `drawing` when width/height is invalid. --- diff --git a/src/core/core.controller.js b/src/core/core.controller.js index d27967d39..3445cb518 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -181,7 +181,7 @@ module.exports = function(Chart) { // the canvas render width and height will be casted to integers so make sure that // the canvas display style uses the same integer values to avoid blurring effect. - // Set to 0 instead of canvas.size because the size defaults to 300x150 if the element is collased + // Set to 0 instead of canvas.size because the size defaults to 300x150 if the element is collapsed var newWidth = Math.max(0, Math.floor(helpers.getMaximumWidth(canvas))); var newHeight = Math.max(0, Math.floor(aspectRatio ? newWidth / aspectRatio : helpers.getMaximumHeight(canvas))); @@ -561,6 +561,10 @@ module.exports = function(Chart) { me.transition(easingValue); + if (me.width <= 0 || me.height <= 0) { + return; + } + if (plugins.notify(me, 'beforeDraw', [easingValue]) === false) { return; }