From e013a78cbf9dce67f6b8b4e9334537c57d726e3c Mon Sep 17 00:00:00 2001 From: pchelko Date: Tue, 8 Oct 2013 15:17:22 +0400 Subject: [PATCH] 7158311: GraphicsDevice.setDisplayMode(...) leads to hang when DISPLAY variable points to Oracle Linux 8001463: Regression : Deadlock between AWT-XAWT thread and AWT-EventQueue-0 Thread when screen resolution changes Reviewed-by: art, serb Contributed-by: alexander.zvegintsev@oracle.com --- src/solaris/classes/sun/awt/X11/XToolkit.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/solaris/classes/sun/awt/X11/XToolkit.java b/src/solaris/classes/sun/awt/X11/XToolkit.java index 7fa438f44..9f9a15dde 100644 --- a/src/solaris/classes/sun/awt/X11/XToolkit.java +++ b/src/solaris/classes/sun/awt/X11/XToolkit.java @@ -240,9 +240,14 @@ public final class XToolkit extends UNIXToolkit implements Runnable { @Override public void dispatchEvent(XEvent ev) { if (ev.get_type() == XConstants.ConfigureNotify) { - ((X11GraphicsEnvironment)GraphicsEnvironment. - getLocalGraphicsEnvironment()). - displayChanged(); + awtUnlock(); + try { + ((X11GraphicsEnvironment)GraphicsEnvironment. + getLocalGraphicsEnvironment()). + displayChanged(); + } finally { + awtLock(); + } } } }); -- GitLab