Skip to content

Commit

Permalink
Ensure that chart dimensions are always >= 0
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Peter-Van-Drunen authored and etimberg committed Jun 23, 2017
1 parent b548d1a commit bef44cc
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/core/core.controller.js
Expand Up @@ -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;
Expand Down

0 comments on commit bef44cc

Please sign in to comment.