[OpenJDK 2D-Dev] Bug in pisces Renderer (uninitialized crossings)
Igor Nekrestyanov
Igor.Nekrestyanov at Sun.COM
Thu Nov 13 09:33:50 PST 2008
Hi Mark,
your patch looks ok to me but i am not expert in pisces.
Alexey Ushakov, who is our expert in pisces should have returned from
vacation today
and i think he will review this soon.
-igor
Mark Wielaard wrote:
> Hi,
>
> On Tue, 2008-11-04 at 10:30 +0100, Mark Wielaard wrote:
>
>> If anybody would take a look at this fix that would be appreciated.
>>
>
> Anybody?
>
>
>> On Mon, 2008-10-27 at 15:53 +0100, Mark Wielaard wrote:
>>
>>> There is a bug in the pisces Renderer in crossingListFinished(). Both
>>> crossings and crossingIndices might not have been initialized, so have
>>> to be checked for being null. They only get initialized if
>>> setCrossingsExtents() was called earlier, which might not always be the
>>> case when crossingListFinished() is called from _endRendering().
>>>
>>> You can see this with for example this applet (you will need to have the
>>> IcedTeaPlugin installed):
>>> http://www.jroller.com/dgilbert/entry/jfreechart_and_jxlayer
>>> The magnifying glass will not work, and you will get an exception:
>>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>>> at sun.java2d.pisces.Renderer.crossingListFinished(Renderer.java:778)
>>> at sun.java2d.pisces.Renderer._endRendering(Renderer.java:466)
>>> at sun.java2d.pisces.Renderer.endRendering(Renderer.java:478)
>>> at sun.java2d.pisces.PiscesRenderingEngine.getAATileGenerator(PiscesRenderingEngine.java:327)
>>> at sun.java2d.pipe.AAShapePipe.renderPath(AAShapePipe.java:93)
>>> at sun.java2d.pipe.AAShapePipe.fill(AAShapePipe.java:65)
>>> at sun.java2d.pipe.ValidatePipe.fill(ValidatePipe.java:160)
>>> at sun.java2d.SunGraphics2D.fill(SunGraphics2D.java:2422)
>>> at org.jfree.chart.plot.Plot.fillBackground(Plot.java:1021)
>>> [...]
>>>
>>> Attached is the workaround that I checked into IcedTea to make this work
>>> reliably:
>>>
>>> 2008-10-27 Mark Wielaard <mark at klomp.org>
>>>
>>> * patches/icedtea-renderer-crossing.patch: New patch.
>>> * Makefile.am (ICEDTEA_PATCHES): Add new patch.
>>> * HACKING: Document new patch.
>>>
>>> Cheers,
>>>
>>> Mark
>>>
>
>
More information about the distro-pkg-dev
mailing list