From 7a35f3cb3e4ede8cf0d32e1bb2eef83a31e2e664 Mon Sep 17 00:00:00 2001 From: Matthew Crumley Date: Sat, 17 Oct 2020 23:52:56 -0400 Subject: [PATCH] Fix Maximum call stack size exception in _computeLabelSizes (#7906) Issue #7881 --- src/core/core.scale.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/core.scale.js b/src/core/core.scale.js index 82433fc19..06c50395c 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -894,6 +894,8 @@ export default class Scale extends Element { const widths = []; const heights = []; const offsets = []; + let widestLabelSize = 0; + let highestLabelSize = 0; let ticks = me.ticks; if (sampleSize < ticks.length) { ticks = sample(ticks, sampleSize); @@ -926,11 +928,13 @@ export default class Scale extends Element { widths.push(width); heights.push(height); offsets.push(lineHeight / 2); + widestLabelSize = Math.max(width, widestLabelSize); + highestLabelSize = Math.max(height, highestLabelSize); } garbageCollect(caches, length); - const widest = widths.indexOf(Math.max.apply(null, widths)); - const highest = heights.indexOf(Math.max.apply(null, heights)); + const widest = widths.indexOf(widestLabelSize); + const highest = heights.indexOf(highestLabelSize); function valueAt(idx) { return {