I'm trying to fix a problem that only occurs when using a mozilla based browser engine, it doesn't occur when using IE. It seems to be related to JRExporter being created over and over again during browser resize events (but again only under netscape/mozilla).
The problem is with the inner class PageRenderer which overides paintComponent() and calls viewer.paintPage(...).
Within paintPage() at line (release 1.2.5) #1583:
JRGraphics2DExporter exporter = new JRGraphics2DExporter();
Causes a lockup / deadlock condition when using a browser mozilla based engine. I can cause this lockup while resizing the browser window. See attachments for the call stack using netbeans.
Here is a patch difference between 1.2.5 and my changes to fix this problem with net.sf.jasperreports.view.JRViewer :
68d67
< import javax.swing.SwingUtilities;
350,358d348
<
< try
< {
< exporter = new JRGraphics2DExporter();
< }
< catch (Exception e)
< {
< e.printStackTrace ();
< }
1592a1583
> JRGraphics2DExporter exporter = new JRGraphics2DExporter();
1623,1626c1614
< synchronized (viewer)
< {
< viewer.paintPage((Graphics2D)g.create());
< }
---
> viewer.paintPage((Graphics2D)g.create());
1629,1631c1617
<
< private JRGraphics2DExporter exporter ;
<
---
>
Let me know what I can do to help or if I can provide any more information.
Recommended Comments