From: Peter-Van-Drunen Date: Fri, 23 Jun 2017 22:08:16 +0000 (-0400) Subject: Ensure that chart dimensions are always >= 0 X-Git-Tag: v2.7.0~1^2~83 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bef44ccb461dbf2211dbc14a4b1535d4810b8411;p=thirdparty%2FChart.js.git Ensure that chart dimensions are always >= 0 Elements were resizing incorrectly if they were regenerated while the chart was in a div that was display:none. Added a check to avoid this issue. Resolves #4397 --- diff --git a/src/core/core.controller.js b/src/core/core.controller.js index 93546f569..0d21fc5f4 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -169,8 +169,10 @@ 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. - var newWidth = Math.floor(helpers.getMaximumWidth(canvas)); - var newHeight = Math.floor(aspectRatio? newWidth / aspectRatio : helpers.getMaximumHeight(canvas)); + + // Set to 0 instead of canvas.size because the size defaults to 300x150 if the element is collased + var newWidth = Math.max(0, Math.floor(helpers.getMaximumWidth(canvas))); + var newHeight = Math.max(0, Math.floor(aspectRatio ? newWidth / aspectRatio : helpers.getMaximumHeight(canvas))); if (me.width === newWidth && me.height === newHeight) { return;