Environment: Java 1.5.0.12; Win2K SP4
Every once in a while, if I stop or restart the applet at just the wrong time
I see the following exception. Line marked Here >> is the last code executed
in my stuff. I check to see if the BufferStrategy is null before trying to
get a new drawGraphics. It never says it's null.
It's annoying. I didn't begin to get these errors until I recoded to use
the canonical render loop for BufferStrategy.
java.lang.NullPointerException
at sun.java2d.SunGraphics2D.<init>(SunGraphics2D.java:213)
at
sun.awt.image.SunVolatileImage.createGraphics(SunVolatileImage.java:174)
at java.awt.image.VolatileImage.getGraphics(VolatileImage.java:224)
at
java.awt.Component$BltBufferStrategy.getDrawGraphics(Component.java:3563)
Here >> at pancyl.PanCylCanvas.newPixels(PanCylCanvas.java:243)
at pancyl.PanCylProjector.interpolateBC(PanCylProjector.java:749)
at
pancyl.PanCylProjector.setImageParametersAndPixels(PanCylProjector.java:316)
at pancyl.PanCylImageFetch.run(PanCylImageFetch.java:418)
at java.lang.Thread.run(Thread.java:595)
private void checkBufferStrategy()
{
if(bs == null)
{
System.err.println("BUFFER STRATEGY NULL...");
this.createBufferStrategy(2);
bs = this.getBufferStrategy();
}
}
private boolean DRAWATT = false;
public void newPixels()
{
//System.err.println("newPixels()...");
try
{
checkBufferStrategy();
do {
do {
Exception here -> bg = (Graphics2D)bs.getDrawGraphics(); //this is line
243
//System.err.println("Get BufferGraphics...");
mis.newPixels(pixels, cm, 0, thisW);
bg.drawImage(canvasImage, 0, 0, thisW, thisH, this);
if(DRAWATT)
drawAttribution();
bg.dispose();
//System.err.println("Dispose BufferGraphics...");
} while (bs.contentsRestored());
bs.show();
} while (bs.contentsLost());
}
catch (Exception ie)
{
ie.printStackTrace();
}
this.requestFocusInWindow();
}
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".