--- old/src/java.desktop/share/classes/javax/swing/RepaintManager.java 2015-05-16 20:31:44.890373900 +0300 +++ new/src/java.desktop/share/classes/javax/swing/RepaintManager.java 2015-05-16 20:31:44.703173600 +0300 @@ -182,9 +182,16 @@ */ private final ProcessingRunnable processingRunnable; - private final static JavaSecurityAccess javaSecurityAccess = - SharedSecrets.getJavaSecurityAccess(); + private static final JavaSecurityAccess javaSecurityAccess = + SharedSecrets.getJavaSecurityAccess(); + /** + * Listener installed to detect display changes. When display changes, + * schedules a callback to notify all RepaintManagers of the display + * changes. + */ + private static final DisplayChangedListener displayChangedHandler = + new DisplayChangedHandler(); static { SwingAccessor.setRepaintManagerAccessor(new SwingAccessor.RepaintManagerAccessor() { @@ -226,8 +233,8 @@ GraphicsEnvironment ge = GraphicsEnvironment. getLocalGraphicsEnvironment(); if (ge instanceof SunGraphicsEnvironment) { - ((SunGraphicsEnvironment)ge).addDisplayChangedListener( - new DisplayChangedHandler()); + ((SunGraphicsEnvironment) ge).addDisplayChangedListener( + displayChangedHandler); } Toolkit tk = Toolkit.getDefaultToolkit(); if ((tk instanceof SunToolkit) @@ -1679,6 +1686,12 @@ */ private static final class DisplayChangedHandler implements DisplayChangedListener { + // Empty non private constructor was added because access to this + // class shouldn't be emulated by a synthetic accessor method. + DisplayChangedHandler() { + super(); + } + public void displayChanged() { scheduleDisplayChanges(); } @@ -1686,11 +1699,10 @@ public void paletteChanged() { } - private void scheduleDisplayChanges() { + private static void scheduleDisplayChanges() { // To avoid threading problems, we notify each RepaintManager // on the thread it was created on. - for (Object c : AppContext.getAppContexts()) { - AppContext context = (AppContext) c; + for (AppContext context : AppContext.getAppContexts()) { synchronized(context) { if (!context.isDisposed()) { EventQueue eventQueue = (EventQueue)context.get(