From a2d87d832725ddffa21029be0776621694de04d0 Mon Sep 17 00:00:00 2001 From: Dmitrii Morskii Date: Thu, 14 Nov 2024 11:33:09 +0000 Subject: [PATCH] JBR-7900 Improve logic of detecting toolkit inside registerShutdownHook --- src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java b/src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java index 309eb84b91fe..31cf770b67f3 100644 --- a/src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java +++ b/src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java @@ -137,6 +137,7 @@ import sun.java2d.ScreenUpdateManager; import sun.java2d.d3d.D3DRenderQueue; import sun.java2d.d3d.D3DScreenUpdateManager; import sun.java2d.opengl.OGLRenderQueue; +import sun.java2d.windows.WindowsFlags; import sun.print.PrintJob2D; import sun.util.logging.PlatformLogger; @@ -250,7 +251,7 @@ public final class WToolkit extends SunToolkit implements Runnable { private void registerShutdownHook() { Thread shutdown = new Thread(ThreadGroupUtils.getRootThreadGroup(), () -> { // D3D's Java2D Queue Flusher thread needs to be syncronized with shutdown logic - if (ScreenUpdateManager.getInstance() instanceof D3DScreenUpdateManager) { + if (WindowsFlags.isD3DEnabled()) { D3DRenderQueue.getInstance().flushAndInvokeNow(() -> { shutdown(); });