Page 1 of 1

JQPlot crashes on Apple devices

PostPosted: 29 Apr 2020 11:54
by XenoG
I've discovered that I can't use TIWCGJQPlot on Apple devices, such as my two iPad minis. The plot will render a couple of times without a problem, but after a few AjaxRerender calls, the browser (Safari Mobile or any other browser on the iPad) reports the following error.

Script Error "null is not an object" (evaluating 'c.webkitBackingStorePixelRatio'_ in Render Async! Processing Full Submit...

The page is then broken after this error. Only a new session will resolve it. On my newer iPad the graph loses it's series lines/bars, but I don't always get the error message. The old ipad always gives the error message after 10-20 rerenders.

It's easy to reproduce this error. I've attached a very simple Delphi application. It has a TIWCGJQPlot with a static data series and a button that calls AjaxRerender. After several button clicks on an iPad, the error will occur.

I need to render the TIWCGJQPlot as I have several tabs on my project and the plots need to be refreshed when I change tab.

I wonder if this is the same problem as the reported memory leak in TIWCGJQPlot in this forum. I too can see that the memory usage is going up in Chrome, but it does not crash. All of the desktop browsers seem to cope with multiple calls to AjaxRerender without crashing or reporting an error in the console.

Delphi 10.3 Update 2
Intraweb 15.0.17
CGDevTools 4.1.0.159

Any help would be much appreciated, even if it is just a workaround so I can use TIWCGJQPlot on iPads.

Thanks,

Richard

Re: JQPlot crashes on Apple devices

PostPosted: 13 May 2020 09:36
by Alexander Bulei
Hi XenoG,
It's something in jquery plugin code..try to use attached files.

Extract & Replace them in to "files/jq/jqPlot" folder.

Then clear the cache of browser.

BR

Re: JQPlot crashes on Apple devices

PostPosted: 13 May 2020 19:02
by XenoG
Hi Alexander,

Thanks for looking into this, Unfortunately the new files still have the same problem on my iPad. My pie chart also broke with the new files, so some things must have changed in the new JS.

Regards,

Richard