Ignore:
Timestamp:
2017-09-05T21:35:24+02:00 (3 years ago)
Author:
Don-vip
Message:

see #15229 - see #15182 - remove GUI dependence of PlatformHookWindows - move workaround to MainApplication

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/MainApplication.java

    r12726 r12744  
    812812        Main.platform.afterPrefStartupHook();
    813813
     814        applyWorkarounds();
     815
    814816        FontsManager.initialize();
    815817
     
    934936            Logging.info("Enabled EDT checker, wrongful access to gui from non EDT thread will be printed to console");
    935937            RepaintManager.setCurrentManager(new CheckThreadViolationRepaintManager());
     938        }
     939    }
     940
     941    static void applyWorkarounds() {
     942        // Workaround for JDK-8180379: crash on Windows 10 1703 with Windows L&F and java < 8u141 / 9+172
     943        // To remove during Java 9 migration
     944        if (System.getProperty("os.name").toLowerCase(Locale.ENGLISH).contains("windows 10") &&
     945                platform.getDefaultStyle().equals(LafPreference.LAF.get())) {
     946            try {
     947                final int currentBuild = Integer.parseInt(PlatformHookWindows.getCurrentBuild());
     948                final int javaVersion = Utils.getJavaVersion();
     949                final int javaUpdate = Utils.getJavaUpdate();
     950                final int javaBuild = Utils.getJavaBuild();
     951                // See https://technet.microsoft.com/en-us/windows/release-info.aspx
     952                if (currentBuild >= 15_063 && ((javaVersion == 8 && javaUpdate < 141)
     953                        || (javaVersion == 9 && javaUpdate == 0 && javaBuild < 173))) {
     954                    // Workaround from https://bugs.openjdk.java.net/browse/JDK-8179014
     955                    UIManager.put("FileChooser.useSystemExtensionHiding", Boolean.FALSE);
     956                }
     957            } catch (NumberFormatException | ReflectiveOperationException e) {
     958                Logging.error(e);
     959            }
    936960        }
    937961    }
Note: See TracChangeset for help on using the changeset viewer.