--- old/src/java.desktop/share/classes/java/awt/Desktop.java 2016-11-15 19:20:00.000000000 +0300 +++ new/src/java.desktop/share/classes/java/awt/Desktop.java 2016-11-15 19:20:00.000000000 +0300 @@ -278,6 +278,8 @@ "canProcessApplicationEvents")); } } + + private static Desktop desktop; /** * Returns the {@code Desktop} instance of the current @@ -300,11 +302,16 @@ } sun.awt.AppContext context = sun.awt.AppContext.getAppContext(); - Desktop desktop = (Desktop)context.get(Desktop.class); + + Desktop desktop = (context == null) + ? Desktop.desktop + : (Desktop)context.get(Desktop.class); if (desktop == null) { desktop = new Desktop(); - context.put(Desktop.class, desktop); + if (context != null) { + context.put(Desktop.class, desktop); + } } return desktop; --- old/src/java.desktop/share/classes/java/awt/Taskbar.java 2016-11-15 19:20:01.000000000 +0300 +++ new/src/java.desktop/share/classes/java/awt/Taskbar.java 2016-11-15 19:20:01.000000000 +0300 @@ -195,6 +195,8 @@ peer = ((SunToolkit) defaultToolkit).createTaskbarPeer(this); } } + + private static Taskbar taskbar; /** * Returns the {@code Taskbar} instance of the current @@ -217,12 +219,18 @@ "supported on the current platform"); } + Taskbar taskbar = null; sun.awt.AppContext context = sun.awt.AppContext.getAppContext(); - Taskbar taskbar = (Taskbar)context.get(Taskbar.class); - + + taskbar = (context == null) + ? Taskbar.taskbar + : (Taskbar)context.get(Taskbar.class); + if (taskbar == null) { taskbar = new Taskbar(); - context.put(Taskbar.class, taskbar); + if (context != null) { + context.put(Taskbar.class, taskbar); + } } return taskbar;