From 3faf08399c88ac6b7571b42273e5a4dbdbe40498 Mon Sep 17 00:00:00 2001 From: alexp Date: Thu, 3 Mar 2011 18:23:19 +0300 Subject: [PATCH] 6653511: JComponent.safelyGetGraphics() may sometimes return null Reviewed-by: rupashka --- src/share/classes/javax/swing/JComponent.java | 43 +++++++++---------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/src/share/classes/javax/swing/JComponent.java b/src/share/classes/javax/swing/JComponent.java index ef235a26a..766cb7aaf 100644 --- a/src/share/classes/javax/swing/JComponent.java +++ b/src/share/classes/javax/swing/JComponent.java @@ -5158,31 +5158,30 @@ public abstract class JComponent extends Container implements Serializable, } } } - try { - g = safelyGetGraphics(paintingComponent, c); - try { - if (hasBuffer) { - RepaintManager rm = RepaintManager.currentManager( - bufferedComponent); - rm.beginPaint(); - try { - rm.paint(paintingComponent, bufferedComponent, g, - paintImmediatelyClip.x, - paintImmediatelyClip.y, - paintImmediatelyClip.width, - paintImmediatelyClip.height); - } finally { - rm.endPaint(); + if ((g = safelyGetGraphics(paintingComponent, c)) != null) { + try { + if (hasBuffer) { + RepaintManager rm = RepaintManager.currentManager( + bufferedComponent); + rm.beginPaint(); + try { + rm.paint(paintingComponent, bufferedComponent, g, + paintImmediatelyClip.x, + paintImmediatelyClip.y, + paintImmediatelyClip.width, + paintImmediatelyClip.height); + } finally { + rm.endPaint(); + } + } else { + g.setClip(paintImmediatelyClip.x, paintImmediatelyClip.y, + paintImmediatelyClip.width, paintImmediatelyClip.height); + paintingComponent.paint(g); } + } finally { + g.dispose(); } - else { - g.setClip(paintImmediatelyClip.x,paintImmediatelyClip.y, - paintImmediatelyClip.width,paintImmediatelyClip.height); - paintingComponent.paint(g); - } - } finally { - g.dispose(); } } finally { -- GitLab