--- Component.java.orig 2003-01-16 00:29:55.000000000 -0600 +++ Component.java 2003-01-16 00:31:52.000000000 -0600 @@ -4168,19 +4168,26 @@ return; Graphics gfx = getGraphics(); - Shape clip = event.getUpdateRect(); - gfx.setClip(clip); + try + { + Shape clip = event.getUpdateRect(); + gfx.setClip(clip); - switch (event.id) + switch (event.id) + { + case PaintEvent.PAINT: + paint(gfx); + break; + case PaintEvent.UPDATE: + update(gfx); + break; + default: + throw new IllegalArgumentException("unknown paint event"); + } + } + finally { - case PaintEvent.PAINT: - paint(gfx); - break; - case PaintEvent.UPDATE: - update(gfx); - break; - default: - throw new IllegalArgumentException("unknown paint event"); + gfx.dispose(); } }