New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heatmap + boost-canvas = crash (point.series.pointAttribs is not a function) #6706

Closed
yoisel opened this Issue May 9, 2017 · 0 comments

Comments

Projects
None yet
1 participant
@yoisel

yoisel commented May 9, 2017

I am using Highcharts (styled version) with Heatmap, and I am trying to add boost.js and boost-canvas.js to the page.

Expected behaviour

Adding boost-canvas.js on top of boost.js should make the chart to render faster even when boost.js cannot be used (webgl not available, for example in a linux remote session).

Actual behaviour

The page crashes with the following error:
Uncaught TypeError: point.series.pointAttribs is not a function
at https://github.highcharts.com/master/js/modules/boost-canvas.js:137:76

Live demo with steps to reproduce

https://jsfiddle.net/63u7qtmk/3/

In order to trigger the issue you need to disable webgl, you can do so by using chromium with the command line option --disable-gpu, or by running chrome or chromium on linux through a remote x session (with xrdp for example).

It's the combination of both boost.js and boost-canvas.js what produces this issue, adding just one or the other does not.

Affected browser(s)

Chrome 58 64 bit on linux ubuntu 16.04

Related issue (same problem but related to boost.js): #6650

Fix proposal:

At line 126 in boost-canvas.js, change this:

pointAttr = (point.pointAttr && point.pointAttr['']) || point.series.pointAttribs(point);

with this:

/*= if (build.classic) { =*/
pointAttr = point.series.pointAttribs(point);
/*= } else { =*/
pointAttr = point.series.colorAttribs(point);
/*= } =*/

The fix was taken from this commit:
d66ec28

Even when I have a fix, I would prefer to see it included in an official release rather than relying on local patches on my end.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment