markrcote/flot-axislabels — pull request #28 by walkevin (2014-06-18 08:49:28+00:00)
Title: Fix for infinite recursion bug

This is a pull request regarding the following bug:
If, for whatever reason, jquery.flot.axislabels.js is loaded twice, the plugin gets registered twice in the $.plot.plugins array and therefore the hook function is registered twice, too. For this particular plugin, this leads to an infinite recursion, because somehow the trick with the secondPass flag fails and the second call to the hook function never returns, but again calls the draw function, which calls the hook function twice again, and the second call again never returns and so on.

A demonstration can be found here: https://gist.github.com/walkevin/cbb6454e521f30126c13 (Notice that you might need to change the source for the axislabels.js. I didn't find it on a CDN Service)

You might argue that it is the responsibility of the developer to assure that the script is loaded only once, but since the error is so catastrophic and has such an unexpected reason which is specific to this plugin, I'm suggesting a simple fix, just to make sure that the plugin is never registered twice.