Hi, Phil.
Is it possible that the code in the Devices::UpdateInstance assume that
some other initialization should be done before? For example the
initializations steps in the Win32GraphicsEnvironment.java:
// Ensure awt is loaded already. Also, this forces static init
// of WToolkit and Toolkit, which we depend upon
WToolkit.loadLibraries();
// setup flags before initializing native layer
WindowsFlags.initFlags();
initDisplayWrapper();
->>>> then in native
// This method needs to be called prior to any display-related activity
SetProcessDPIAwareProperty();
DWMIsCompositionEnabled();
initScreens(env);
->>>>
!Devices::UpdateInstance(env)
It seems that in your fix device will be initialized before
initFlags()/SetProcessDPIAwareProperty/DWMIsCompositionEnabled, right?
On 25.11.15 22:39, Phil Race wrote:
This resolves a crash on WIndows startup due to changes in the hidpi
support
that requires the graphics devices be initialised first in order to get
screen dimensions.
http://cr.openjdk.java.net/~prr/8144074/
https://bugs.openjdk.java.net/browse/JDK-8144074
-phil.
--
Best regards, Sergey.