--- old/src/share/classes/javax/swing/JComponent.java 2014-07-21 13:11:52.000000000 +0400 +++ new/src/share/classes/javax/swing/JComponent.java 2014-07-21 13:11:52.000000000 +0400 @@ -62,6 +62,7 @@ import javax.swing.plaf.*; import static javax.swing.ClientPropertyKey.*; import javax.accessibility.*; +import sun.awt.AppContext; import sun.awt.SunToolkit; import sun.swing.SwingUtilities2; @@ -4834,8 +4835,11 @@ * @see RepaintManager#addDirtyRegion */ public void repaint(long tm, int x, int y, int width, int height) { - RepaintManager.currentManager(SunToolkit.targetToAppContext(this)) - .addDirtyRegion(this, x, y, width, height); + AppContext appContext = SunToolkit.targetToAppContext(this); + if (appContext != null) { + RepaintManager.currentManager(appContext) + .addDirtyRegion(this, x, y, width, height); + } } --- old/src/share/classes/sun/awt/SunToolkit.java 2014-07-21 13:11:53.000000000 +0400 +++ new/src/share/classes/sun/awt/SunToolkit.java 2014-07-21 13:11:53.000000000 +0400 @@ -577,7 +577,10 @@ * returning to the caller. */ public static void executeOnEventHandlerThread(PeerEvent peerEvent) { - postEvent(targetToAppContext(peerEvent.getSource()), peerEvent); + AppContext appContext = targetToAppContext(peerEvent.getSource()); + if (appContext != null) { + postEvent(appContext, peerEvent); + } } /* @@ -634,6 +637,9 @@ */ public static boolean isDispatchThreadForAppContext(Object target) { AppContext appContext = targetToAppContext(target); + if (appContext == null) { + return false; + } EventQueue eq = (EventQueue)appContext.get(AppContext.EVENT_QUEUE_KEY); AWTAccessor.EventQueueAccessor accessor = AWTAccessor.getEventQueueAccessor();