PDA

View Full Version : [FIXED] (Beta 1) Using Chart in Card Layout Container Throws Error in Firefox



LEWJO10@ca.com
14 Jan 2012, 11:13 AM
Brendan,

When I use a chart in a CardLayoutContainer and make some other widget the first to appear, I get the following error message in Firefox.

12:40:59.385 [ERROR] [columnchart] Uncaught exception escaped

com.google.gwt.core.client.JavaScriptException: (NS_ERROR_FAILURE): Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMSVGLocatable.getBBox]

at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:248)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeDouble(ModuleSpace.java:221)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeDouble(JavaScriptHost.java:59)
at com.sencha.gxt.chart.client.draw.engine.SVG.getTextHeight(SVG.java)
at com.sencha.gxt.chart.client.draw.engine.SVG.tuneText(SVG.java:696)
at com.sencha.gxt.chart.client.draw.engine.SVG.applyAttributes(SVG.java:248)
at com.sencha.gxt.chart.client.draw.engine.SVG.renderSprite(SVG.java:176)
at com.sencha.gxt.chart.client.draw.Surface.renderAll(Surface.java:287)
at com.sencha.gxt.chart.client.draw.engine.SVG.draw(SVG.java:158)
at com.sencha.gxt.chart.client.draw.DrawComponent.render(DrawComponent.java:338)
at com.sencha.gxt.chart.client.draw.DrawComponent.access$0(DrawComponent.java:336)
at com.sencha.gxt.chart.client.draw.DrawComponent$1.execute(DrawComponent.java:226)
at com.google.gwt.core.client.impl.SchedulerImpl$Task$.executeScheduled$(SchedulerImpl.java:50)
at com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:228)
at com.google.gwt.core.client.impl.SchedulerImpl.flushFinallyCommands(SchedulerImpl.java:327)
at com.google.gwt.core.client.impl.Impl.exit(Impl.java:237)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:409)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Unknown Source)

I do not get the error in IE.

You can recreate the error by running the attached file (i.e., ColumnChart_NS_ERROR_FAILURE.txt) and using Firefox.

After the error occurs, if you then click the “Show Bar Chart" button, then the chart fails to load properly.

If you make the chart first to appear by commenting out line 158 and un-commenting line 159 in the file, then the error does not occur in Firefox. Also, if you click the “Return” button and then click the “Show Bar Chart" button, then the charts appears again without any errors occurring.

Additionally, I have run into this same problem in Firefox when using multiple charts in a CardLayoutContainer where each chart is presented one at a time.

Hopefully this is an easy fix.

Thanks,
John Lewis

BrendanC
16 Jan 2012, 5:25 PM
Thanks for the test case. This is fixed for the next release. Now the SVG engine will only call getBBox if the SVG text element is visible.