excelsystems

Members
  • Content count

    5
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by excelsystems

  1. Memory leaks

    Every execution of FusionCharts increases memory consumed by the browser. In our case we may have many screens in one-page app which contain charts and some customers run out of memory after running screens with FusionCharts for a while. I've composed example which demonstrates this issue. Just open it and keep pressing "Update charts" button, then you should notice that memory size consumed by the browser keeps growing. http://esdi.excelsystems.com/websmart/smh/sc_test/sc_js.html Issue is especially noticeable in Internet Explorer
  2. We use FusionCharts in Ajax application which replaces contents of some element with HTML which has FusionChart in it. The issue is that if FusionChart won't finish rendering and HTML will be replaced with another HTML which has FusionChart, it will throw an exception. Unfortunately this exception is impossible to catch with try/catch block because in raiseEWEvent exception it is thrown in another context because of: // Throw error in a separate scope so that the execution of this script // is not blocked. Do this only when debugMode is enabled window.setTimeout(function () { throw err; }, 0); Also comment is a bit misleading because debug mode is disabled in my case, but exception is still thrown.
  3. Label Text Gets Cut Off

    Hi,We use FusionCharts in two of our products and the following issue was confirmed using both. For line chart, the text of the the last label gets cut off. 2D bar chart has a similar issue. Attached screenshots show this. Thanks, Yuval
  4. Infinite Loop In Certain Cases

    In my application content of the page which contains Fusion Chart is reloaded multiple times with AJAX request, so chart is regenerated several times which at some point causes infinite loop ONLY IE 7. I've tracked down problem to the code of the function "global.normalizeCSSDimension" and particularly: -- if (w.match(/^\s*\d*\.?\d*\%\s*$/) && !w.match(/^\s*0\%\s*$/) && container.offsetWidth === 0) { while ((p = container.offsetParent)) { if (p.offsetWidth > 0) { w = (p.offsetWidth * parseFloat(w.match(/\d*/)[0]) / 100).toString(); break; } } } if (h.match(/^\s*\d*\.?\d*\%\s*$/) && !h.match(/^\s*0\%\s*$/) && container.offsetHeight <= 20) { while ((p = container.offsetParent)) { if (p.offsetHeight > 0) { h = (p.offsetHeight * parseFloat(h.match(/\d*/)[0]) / 100).toString(); break; } } } -- The problem is that offsetHeight and offsetWidth can be 0 at the very beginning which will cause these loop never end. I've fixed it by modifying code like this: -- if (w.match(/^\s*\d*\.?\d*\%\s*$/) && !w.match(/^\s*0\%\s*$/) && container.offsetWidth === 0) { if ((p = container.offsetParent) && p.offsetWidth > 0) { w = (p.offsetWidth * parseFloat(w.match(/\d*/)[0]) / 100).toString(); } } if (h.match(/^\s*\d*\.?\d*\%\s*$/) && !h.match(/^\s*0\%\s*$/) && container.offsetHeight <= 20) { if ((p = container.offsetParent) && p.offsetHeight > 0) { h = (p.offsetHeight * parseFloat(h.match(/\d*/)[0]) / 100).toString(); } } -- it would be great if this issue will be fixed in the next versions of Fusion Charts
  5. Infinite Loop In Certain Cases

    @version fusioncharts/3.2.3-sr1.5347 but it also does not work in 3.2.1 Unfortunately I do not have example because it is a part of a huge system, but original code looks dangerous and I happen to hit the case when it fails.