[
https://issues.apache.org/jira/browse/PIVOT-815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13147800#comment-13147800
]
Drazen Dotlic commented on PIVOT-815:
-------------------------------------
Sandro and Noel,
The patch does not work, but the reason is a bit strange.
I just checked and for the other bug (Pivot-805, Labels won't print) we
definitely concluded that the right interface to test would be if the Graphics
instance implemented java.awt.PrintGraphics.
However, on my machine (64-bit Windows 7, 32-bit Java 1.6.0_29) the interface
is now java.awt.print.PrinterGraphics???
I am not sure if this was a recent change in Java (probably) but that's the
situation. I guess the test should include both of these interfaces (it might
even be the case that the latter is more modern version of the former).
This is a simple enough change, but I would definitely be interested to know
which of these two interfaces you encounter on your machines while printing?
Hoping for a quick patch, thanks again.
> Printing crashes with Out Of Memory exception
> ---------------------------------------------
>
> Key: PIVOT-815
> URL: https://issues.apache.org/jira/browse/PIVOT-815
> Project: Pivot
> Issue Type: Bug
> Components: wtk, wtk-terra
> Affects Versions: 2.0
> Environment: Windows 7 x64, Java 1.6.0_29
> Reporter: Drazen Dotlic
> Assignee: Sandro Martini
> Labels: crash, outofmemory, printing
> Fix For: 2.0.1
>
> Attachments: ApplicationContext.java, PrintUtilities.java, pivot_511
> - Applet.launch
>
>
> Printing using Java's Printable interface... We have a single Pivot Window
> (it's an applet) and the layout isn't really complicated. Implementing print
> method of the Printable interface in our case boils down to drawing into the
> provided Graphics.
> This has worked perfectly until recently (not sure which version broke
> things, but we're talking last few weeks). Now when we print we get an "Out
> of Memory" exception. Call stack does not show any obvious anomalies like
> infinite loops and such, here it is:
> java.lang.OutOfMemoryError: Java heap space
> at java.awt.image.DataBufferInt.<init>(Unknown Source)
> at java.awt.image.Raster.createPackedRaster(Unknown Source)
> at
> java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
> at java.awt.image.BufferedImage.<init>(Unknown Source)
> at sun.java2d.loops.GraphicsPrimitive.convertFrom(Unknown Source)
> at sun.java2d.loops.GraphicsPrimitive.convertFrom(Unknown Source)
> at sun.java2d.loops.MaskBlit$General.MaskBlit(Unknown Source)
> at sun.java2d.loops.Blit$GeneralMaskBlit.Blit(Unknown Source)
> at sun.java2d.pipe.DrawImage.blitSurfaceData(Unknown Source)
> at sun.java2d.pipe.DrawImage.renderImageCopy(Unknown Source)
> at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
> at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
> at sun.java2d.pipe.ValidatePipe.copyImage(Unknown Source)
> at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
> at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
> at sun.java2d.pipe.DrawImage.makeBufferedImage(Unknown Source)
> at sun.java2d.pipe.DrawImage.renderImageXform(Unknown Source)
> at sun.java2d.pipe.DrawImage.transformImage(Unknown Source)
> at sun.java2d.pipe.DrawImage.scaleImage(Unknown Source)
> at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
> at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
> at sun.java2d.pipe.ValidatePipe.copyImage(Unknown Source)
> at sun.java2d.SunGraphics2D.copyImage(Unknown Source)
> at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
> at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
> at sun.print.PeekGraphics.drawImage(Unknown Source)
> at
> org.apache.pivot.wtk.ApplicationContext$DisplayHost.paintVolatileBuffered(ApplicationContext.java:541)
> at
> org.apache.pivot.wtk.ApplicationContext$DisplayHost.paint(ApplicationContext.java:436)
> at
> com.barchart.realtime.core.service.PrintService.paint(PrintService.java:60)
> at
> com.barchart.realtime.core.service.PrintService.print(PrintService.java:84)
> at sun.print.RasterPrinterJob.printPage(Unknown Source)
> at sun.print.RasterPrinterJob.print(Unknown Source)
> If you need more info, do not hesitate to ask. I would have provided a test
> case, but it's not easy to extract code from a commercial product. Besides, I
> suspect this is some kind of obvious accidental mistake which should be easy
> to repeat with a very simple test case.pr
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira