changeset 1427:8d90bc3f310a

fixed windows headless detection problems * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: as (mostly) first initialized class on windows, enforced headless check and initialized logging. This is WORKAROUND and shoudl get FIXED. There is strange behavior in AWT windows impelmentation, which is causing awt queue to get corrupted when called from "bad" thread. This hack is enforcing to be called from "correct" thread. This is likely bug in JDK and have to be investigated. Btw see patch from 2017.04.10 about awt hooks. That is same issue.
author Jiri Vanek <jvanek@redhat.com>
date Thu, 11 May 2017 18:00:34 +0200
parents bdeedbb5a04f
children 3b8cef4be396
files ChangeLog netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java
diffstat 2 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu May 11 17:56:41 2017 +0200
+++ b/ChangeLog	Thu May 11 18:00:34 2017 +0200
@@ -1,3 +1,13 @@
+2017-05-11  Jiri Vanek <jvanek@redhat.com>
+
+	fixed windows headless detection problems
+	* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: as (mostly) first initialized class
+	on windows, enforced headless check and initialized logging. This is WORKAROUND and shoudl get FIXED.
+	There is strange behavior in AWT windows impelmentation, which is causing awt queue to get corrupted
+	when called from "bad" thread.  This hack is enforcing to be called from "correct" thread. This is 
+	likely bug in JDK and have to be investigated. Btw see patch from 2017.04.10 about awt hooks. That is 
+	same issue.
+
 2017-05-11  Jiri Vanek <jvanek@redhat.com>
 
 	* netx/net/sourceforge/jnlp/runtime/Boot.java: processing of -about adapted to correct headless check
--- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java	Thu May 11 17:56:41 2017 +0200
+++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java	Thu May 11 18:00:34 2017 +0200
@@ -269,6 +269,10 @@
         userDeploymentFileDescriptor = configFile;
         currentConfiguration = new HashMap<>();
         unchangeableConfiguration = new HashMap<>();
+        if (JNLPRuntime.isWindows()) {
+            boolean wh = JNLPRuntime.isHeadless();
+            OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, "On windows, answering headless at startup, to prevent race condition later - " + wh);
+         }
          try {
             IcoSpi spi = new IcoSpi();
             IIORegistry.getDefaultInstance().registerServiceProvider(spi);