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.

Reply via email to