This problem started on the beta refresh build, b63a. Build b69 was the build in which we found this bug.
Though the problem seems to appear only on Windows and Linux, even across different Windows machines, it doesn't appear on every Windows machine tested on. It appears on some while it does not on others. I was able to reproduce it on a Win98 and Win2000 machine.
Steps to reproduce:
1) Compile all the classes in the attached tar file.
2) Execute:
% java TestPNGReaderWriter
3) Once the GUI comes up with a single "Start" JButton, click on the button.
4) A PNG file of the button should be created in the same directory. It is also at this point in which the NPE often comes up on many Windows/Linux machines.
-----------------------------------------
java.lang.NullPointerException
at PNGReaderWriter.writePNGImage(PNGReaderWriter.java:102)
at TestPNGReaderWriter.actionPerformed(TestPNGReaderWriter.java:35)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:17
63)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
ctButton.java:1816)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:414)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:253
)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:261)
at java.awt.Component.processMouseEvent(Component.java:4972)
at java.awt.Component.processEvent(Component.java:4782)
at java.awt.Container.processEvent(Container.java:1383)
at java.awt.Component.dispatchEventImpl(Component.java:3492)
at java.awt.Container.dispatchEventImpl(Container.java:1440)
at java.awt.Component.dispatchEvent(Component.java:3353)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3176
)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2889)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2842)
at java.awt.Container.dispatchEventImpl(Container.java:1426)
at java.awt.Window.dispatchEventImpl(Window.java:1531)
at java.awt.Component.dispatchEvent(Component.java:3353)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:439)
at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:15
0)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:131)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
-------------------------------------------
Again, if you cannot reproduce it on your machine, please come see me and I'll reproduce it on our machines for you.
edmund.lou@eng 2001-06-26
=======================================