mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2025-12-10 11:29:39 +01:00
Compare commits
4 Commits
jb17.0.8-b
...
jb17.0.7-b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7d842cd56c | ||
|
|
1965ab0496 | ||
|
|
845dc9612f | ||
|
|
52816d7406 |
@@ -128,12 +128,6 @@ frame os::fetch_frame_from_context(const void* ucVoid) {
|
||||
intptr_t* sp;
|
||||
intptr_t* fp;
|
||||
address epc = fetch_frame_from_context(ucVoid, &sp, &fp);
|
||||
if (!is_readable_pointer(epc)) {
|
||||
// Try to recover from calling into bad memory
|
||||
// Assume new frame has not been set up, the same as
|
||||
// compiled frame stack bang
|
||||
return fetch_compiled_frame_from_context(ucVoid);
|
||||
}
|
||||
return frame(sp, fp, epc);
|
||||
}
|
||||
|
||||
@@ -348,7 +342,7 @@ void os::print_context(outputStream *st, const void *context) {
|
||||
// Note: it may be unsafe to inspect memory near pc. For example, pc may
|
||||
// point to garbage if entry point in an nmethod is corrupted. Leave
|
||||
// this at the end, and hope for the best.
|
||||
address pc = os::fetch_frame_from_context(uc).pc();
|
||||
address pc = os::Posix::ucontext_get_pc(uc);
|
||||
print_instructions(st, pc, 4/*native instruction size*/);
|
||||
st->cr();
|
||||
}
|
||||
|
||||
@@ -142,12 +142,6 @@ frame os::fetch_frame_from_context(const void* ucVoid) {
|
||||
intptr_t* sp;
|
||||
intptr_t* fp;
|
||||
address epc = fetch_frame_from_context(ucVoid, &sp, &fp);
|
||||
if (!is_readable_pointer(epc)) {
|
||||
// Try to recover from calling into bad memory
|
||||
// Assume new frame has not been set up, the same as
|
||||
// compiled frame stack bang
|
||||
return fetch_compiled_frame_from_context(ucVoid);
|
||||
}
|
||||
return frame(sp, fp, epc);
|
||||
}
|
||||
|
||||
@@ -585,7 +579,7 @@ void os::print_context(outputStream *st, const void *context) {
|
||||
// Note: it may be unsafe to inspect memory near pc. For example, pc may
|
||||
// point to garbage if entry point in an nmethod is corrupted. Leave
|
||||
// this at the end, and hope for the best.
|
||||
address pc = os::fetch_frame_from_context(uc).pc();
|
||||
address pc = os::Posix::ucontext_get_pc(uc);
|
||||
print_instructions(st, pc, sizeof(char));
|
||||
st->cr();
|
||||
}
|
||||
|
||||
@@ -319,12 +319,6 @@ frame os::fetch_frame_from_context(const void* ucVoid) {
|
||||
intptr_t* sp;
|
||||
intptr_t* fp;
|
||||
address epc = fetch_frame_from_context(ucVoid, &sp, &fp);
|
||||
if (!is_readable_pointer(epc)) {
|
||||
// Try to recover from calling into bad memory
|
||||
// Assume new frame has not been set up, the same as
|
||||
// compiled frame stack bang
|
||||
return frame(sp + 1, fp, (address)*sp);
|
||||
}
|
||||
return frame(sp, fp, epc);
|
||||
}
|
||||
|
||||
@@ -456,7 +450,7 @@ void os::print_context(outputStream *st, const void *context) {
|
||||
// Note: it may be unsafe to inspect memory near pc. For example, pc may
|
||||
// point to garbage if entry point in an nmethod is corrupted. Leave
|
||||
// this at the end, and hope for the best.
|
||||
address pc = os::fetch_frame_from_context(uc).pc();
|
||||
address pc = (address)uc->REG_PC;
|
||||
print_instructions(st, pc, sizeof(char));
|
||||
st->cr();
|
||||
}
|
||||
|
||||
@@ -2283,8 +2283,6 @@ bool Method::is_valid_method(const Method* m) {
|
||||
} else if ((intptr_t(m) & (wordSize-1)) != 0) {
|
||||
// Quick sanity check on pointer.
|
||||
return false;
|
||||
} else if (!os::is_readable_range(m, m + 1)) {
|
||||
return false;
|
||||
} else if (m->is_shared()) {
|
||||
return CppVtables::is_valid_shared_method(m);
|
||||
} else if (Metaspace::contains_non_shared(m)) {
|
||||
|
||||
@@ -40,6 +40,7 @@ import javax.swing.plaf.FontUIResource;
|
||||
import sun.awt.FontConfiguration;
|
||||
import sun.awt.HeadlessToolkit;
|
||||
import sun.lwawt.macosx.*;
|
||||
import sun.util.logging.PlatformLogger;
|
||||
|
||||
public final class CFontManager extends SunFontManager {
|
||||
private static Hashtable<String, Font2D> genericFonts = new Hashtable<String, Font2D>();
|
||||
@@ -140,15 +141,45 @@ public final class CFontManager extends SunFontManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getSystemFontVersion(TrueTypeFont bundledFont) {
|
||||
String version = getNativeFontVersion(bundledFont.getPostscriptName());
|
||||
return version != null ? TrueTypeFont.parseVersion(version) : "0";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadJREFonts(String[] fonts) {
|
||||
for (String name : fonts) {
|
||||
loadNativeDirFonts(name);
|
||||
protected void registerJREFonts() {
|
||||
@SuppressWarnings("removal")
|
||||
String[] files = AccessController.doPrivileged((PrivilegedAction<String[]>) () ->
|
||||
new File(jreFontDirName).list(getTrueTypeFilter()));
|
||||
if (files != null) {
|
||||
PlatformLogger logger = FontUtilities.getLogger();
|
||||
boolean versionCheckEnabled = !("true".equals(System.getProperty("java2d.font.noVersionCheck")));
|
||||
int [] ver = new int[3];
|
||||
for (String f : files) {
|
||||
boolean loadFont = true;
|
||||
BundledFontInfo fi = getBundledFontInfo(f);
|
||||
if (versionCheckEnabled) {
|
||||
if (fi != null) {
|
||||
String verStr = getNativeFontVersion(fi.getPsName());
|
||||
if (logger != null) {
|
||||
logger.info("Checking bundled " + fi.getPsName());
|
||||
}
|
||||
if (verStr != null && parseFontVersion(verStr, ver) && !fi.isNewerThan(ver)) {
|
||||
if (logger != null) {
|
||||
logger.info("Skip loading. Newer or same version platform font detected " +
|
||||
fi.getPsName() + " " + verStr);
|
||||
}
|
||||
loadFont = false;
|
||||
}
|
||||
} else {
|
||||
if (logger != null) {
|
||||
FontUtilities.getLogger().warning("JREFonts: No BundledFontInfo for : " + f);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (loadFont) {
|
||||
String fontPath = jreFontDirName + File.separator + f;
|
||||
loadNativeDirFonts(fontPath);
|
||||
if (logger != null && fi != null) {
|
||||
String verStr = getNativeFontVersion(fi.getPsName());
|
||||
logger.info("Loaded " + fi.getPsName() + " (" + verStr + ")");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,7 +207,12 @@ public final class CFontManager extends SunFontManager {
|
||||
|
||||
void registerFont(String fontName, String fontFamilyName, String faceName) {
|
||||
// Use different family for specific font faces
|
||||
final CFont font = new CFont(fontName, jreFamilyMap.getOrDefault(fontName, fontFamilyName), faceName);
|
||||
String newFontFamily = jreFamilyMap.get(fontName);
|
||||
if (newFontFamily != null) {
|
||||
fontFamilyName = newFontFamily;
|
||||
}
|
||||
final CFont font = new CFont(fontName, fontFamilyName, faceName);
|
||||
|
||||
registerGenericFont(font);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2008, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@@ -33,13 +33,9 @@ import java.io.FileInputStream;
|
||||
import java.io.FilenameFilter;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.math.BigInteger;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Hashtable;
|
||||
@@ -58,7 +54,6 @@ import sun.awt.FontConfiguration;
|
||||
import sun.awt.SunToolkit;
|
||||
import sun.awt.util.ThreadGroupUtils;
|
||||
import sun.java2d.FontSupport;
|
||||
import sun.security.action.GetPropertyAction;
|
||||
import sun.util.logging.PlatformLogger;
|
||||
|
||||
/**
|
||||
@@ -68,6 +63,39 @@ import sun.util.logging.PlatformLogger;
|
||||
* methods that have to be implemented by specific implementations.
|
||||
*/
|
||||
public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
|
||||
protected static class BundledFontInfo {
|
||||
private String psName;
|
||||
private int [] version;
|
||||
|
||||
public BundledFontInfo(String psName, int major, int minor, int bugfix) {
|
||||
this.psName = psName;
|
||||
version = new int[3];
|
||||
version[0] = major;
|
||||
version[1] = minor;
|
||||
version[2] = bugfix;
|
||||
}
|
||||
|
||||
public String getPsName() {
|
||||
return psName;
|
||||
}
|
||||
|
||||
public boolean isNewerThan(int[] version) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (this.version[i] < version[i]) {
|
||||
return false;
|
||||
} else if (this.version[i] > version[i]) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return psName + " v" + version[0] + "." + version[1] + "." + version[2];
|
||||
}
|
||||
}
|
||||
|
||||
private static class TTFilter implements FilenameFilter {
|
||||
public boolean accept(File dir,String name) {
|
||||
/* all conveniently have the same suffix length */
|
||||
@@ -192,8 +220,9 @@ public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
|
||||
private boolean loaded1dot0Fonts = false;
|
||||
boolean loadedAllFonts = false;
|
||||
boolean loadedAllFontFiles = false;
|
||||
private HashSet<String> jreBundledFontFiles = new HashSet<>();
|
||||
HashMap<String,String> jreFamilyMap = new HashMap<>();
|
||||
private HashMap<String,BundledFontInfo> jreFontMap;
|
||||
private HashSet<String> jreBundledFontFiles;
|
||||
HashMap<String,String> jreFamilyMap;
|
||||
String[] jreOtherFontFiles;
|
||||
boolean noOtherJREFontFiles = false; // initial assumption.
|
||||
|
||||
@@ -203,7 +232,6 @@ public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
|
||||
private String defaultFontName;
|
||||
private String defaultFontFileName;
|
||||
protected HashSet<String> registeredFontFiles = new HashSet<>();
|
||||
protected static boolean versionCheckEnabled = false;
|
||||
|
||||
private ArrayList<String> badFonts;
|
||||
/* fontPath is the location of all fonts on the system, excluding the
|
||||
@@ -284,19 +312,70 @@ public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
|
||||
* are rarely used. Consider removing the other mappings if there's
|
||||
* no evidence they are useful in practice.
|
||||
*/
|
||||
@SuppressWarnings("removal")
|
||||
String[] files = AccessController.doPrivileged((PrivilegedAction<String[]>) () ->
|
||||
new File(jreFontDirName).list(getTrueTypeFilter()));
|
||||
Collections.addAll(jreBundledFontFiles, files);
|
||||
jreFontMap = new HashMap<>();
|
||||
jreBundledFontFiles = new HashSet<String>();
|
||||
jreFamilyMap = new HashMap<>();
|
||||
|
||||
/* Droid Sans Mono Family */
|
||||
jreFontMap.put("DroidSans.ttf", new BundledFontInfo("DroidSans", 1, 0, 0));
|
||||
jreFontMap.put("DroidSans-Bold.ttf", new BundledFontInfo("DroidSans-Bold", 1, 0, 0));
|
||||
|
||||
/* Droid Sans Mono Family */
|
||||
jreFontMap.put("DroidSansMono.ttf", new BundledFontInfo("DroidSansMono", 1, 0, 0));
|
||||
jreFontMap.put("DroidSansMonoSlashed.ttf", new BundledFontInfo("DroidSansMonoSlashed", 1, 0, 0));
|
||||
jreFontMap.put("DroidSansMonoDotted.ttf", new BundledFontInfo("DroidSansMonoDotted", 1, 0, 0));
|
||||
|
||||
/* Droid Serif Family */
|
||||
jreFontMap.put("DroidSerif-Regular.ttf", new BundledFontInfo("DroidSerif", 1, 0, 0));
|
||||
jreFontMap.put("DroidSerif-Bold.ttf", new BundledFontInfo("DroidSerif-Bold", 1, 0, 0));
|
||||
jreFontMap.put("DroidSerif-Italic.ttf", new BundledFontInfo("DroidSerif-Italic", 1, 0, 0));
|
||||
jreFontMap.put("DroidSerif-BoldItalic.ttf", new BundledFontInfo("DroidSerif-BoldItalic", 1, 0, 0));
|
||||
|
||||
/* Idea bundled fonts */
|
||||
jreFontMap.put("FiraCode-Bold.ttf", new BundledFontInfo("FiraCode-Bold", 1, 206, 0));
|
||||
jreFontMap.put("FiraCode-Light.ttf", new BundledFontInfo("FiraCode-Light", 1, 206, 0));
|
||||
jreFontMap.put("FiraCode-Medium.ttf", new BundledFontInfo("FiraCode-Medium", 1, 206, 0));
|
||||
jreFontMap.put("FiraCode-Retina.ttf", new BundledFontInfo("FiraCode-Retina", 1, 206, 0));
|
||||
jreFontMap.put("FiraCode-Regular.ttf", new BundledFontInfo("FiraCode-Regular", 1, 206, 0));
|
||||
|
||||
jreFontMap.put("SourceCodePro-BoldIt.ttf", new BundledFontInfo("SourceCodePro-BoldIt", 1, 30, 0));
|
||||
jreFontMap.put("SourceCodePro-Regular.ttf", new BundledFontInfo("SourceCodePro-Regular", 2, 10, 0));
|
||||
jreFontMap.put("SourceCodePro-Bold.ttf", new BundledFontInfo("SourceCodePro-Bold", 2, 10, 0));
|
||||
jreFontMap.put("SourceCodePro-It.ttf", new BundledFontInfo("SourceCodePro-It", 1, 30, 0));
|
||||
|
||||
jreFontMap.put("Inconsolata.ttf", new BundledFontInfo("Inconsolata", 1, 10, 0));
|
||||
|
||||
jreFontMap.put("Roboto-Light.ttf", new BundledFontInfo("Roboto-Light", 1, 100141, 0));
|
||||
jreFontMap.put("Roboto-Thin.ttf", new BundledFontInfo("Roboto-Thin", 1, 100141, 0));
|
||||
|
||||
jreFamilyMap.put("Roboto-Light", "Roboto Light");
|
||||
jreFamilyMap.put("Roboto-Thin", "Roboto Thin");
|
||||
|
||||
jreFontMap.put("JetBrainsMono-Bold.ttf", new BundledFontInfo("JetBrainsMono-Bold", 2, 242, 0));
|
||||
jreFontMap.put("JetBrainsMono-BoldItalic.ttf", new BundledFontInfo("JetBrainsMono-BoldItalic", 2, 242, 0));
|
||||
jreFontMap.put("JetBrainsMono-ExtraBold.ttf", new BundledFontInfo("JetBrainsMono-ExtraBold", 2, 242, 0));
|
||||
jreFontMap.put("JetBrainsMono-ExtraBoldItalic.ttf", new BundledFontInfo("JetBrainsMono-ExtraBoldItalic", 2, 242, 0));
|
||||
jreFontMap.put("JetBrainsMono-ExtraLight.ttf", new BundledFontInfo("JetBrainsMono-ExtraLight", 2, 242, 0));
|
||||
jreFontMap.put("JetBrainsMono-ExtraLightItalic.ttf", new BundledFontInfo("JetBrainsMono-ExtraLightItalic", 2, 242, 0));
|
||||
jreFontMap.put("JetBrainsMono-Italic.ttf", new BundledFontInfo("JetBrainsMono-Italic", 2, 242, 0));
|
||||
jreFontMap.put("JetBrainsMono-Light.ttf", new BundledFontInfo("JetBrainsMono-Light", 2, 242, 0));
|
||||
jreFontMap.put("JetBrainsMono-LightItalic.ttf", new BundledFontInfo("JetBrainsMono-LightItalic", 2, 242, 0));
|
||||
jreFontMap.put("JetBrainsMono-Medium.ttf", new BundledFontInfo("JetBrainsMono-Medium", 2, 242, 0));
|
||||
jreFontMap.put("JetBrainsMono-MediumItalic.ttf", new BundledFontInfo("JetBrainsMono-MediumItalic", 2, 242, 0));
|
||||
jreFontMap.put("JetBrainsMono-Regular.ttf", new BundledFontInfo("JetBrainsMono-Regular", 2, 242, 0));
|
||||
jreFontMap.put("JetBrainsMono-Thin.ttf", new BundledFontInfo("JetBrainsMono-Thin", 2, 242, 0));
|
||||
jreFontMap.put("JetBrainsMono-ThinItalic.ttf", new BundledFontInfo("JetBrainsMono-ThinItalic", 2, 242, 0));
|
||||
|
||||
jreFontMap.put("Inter-SemiBold.otf", new BundledFontInfo("Inter-SemiBold", 3, 19, 0));
|
||||
jreFontMap.put("Inter-Regular.otf", new BundledFontInfo("Inter-Regular", 3, 19, 0));
|
||||
jreFontMap.put("Inter-Italic.otf", new BundledFontInfo("Inter-Italic", 3, 19, 0));
|
||||
jreFontMap.put("Inter-SemiBoldItalic.otf", new BundledFontInfo("Inter-SemiBoldItalic", 3, 19, 0));
|
||||
|
||||
jreBundledFontFiles.addAll(jreFontMap.keySet());
|
||||
}
|
||||
|
||||
static {
|
||||
initStatic();
|
||||
versionCheckEnabled = !Boolean.parseBoolean(
|
||||
GetPropertyAction.privilegedGetProperty("java2d.font.noVersionCheck", "false"));
|
||||
}
|
||||
|
||||
@SuppressWarnings("removal")
|
||||
@@ -368,17 +447,21 @@ public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
|
||||
}
|
||||
}
|
||||
|
||||
/* Here we get the fonts in jre/lib/fonts and register
|
||||
* them so they are always available and preferred over
|
||||
* other fonts. This needs to be registered before the
|
||||
* composite fonts as otherwise some native font that
|
||||
* corresponds may be found as we don't have a way to
|
||||
* handle two fonts of the same name, so the JRE one
|
||||
* must be the first one registered. Pass "true" to
|
||||
* registerFonts method as on-screen these JRE fonts
|
||||
* always go through the JDK rasteriser.
|
||||
*/
|
||||
registerJREFonts();
|
||||
/* Here we get the fonts in jre/lib/fonts and register
|
||||
* them so they are always available and preferred over
|
||||
* other fonts. This needs to be registered before the
|
||||
* composite fonts as otherwise some native font that
|
||||
* corresponds may be found as we don't have a way to
|
||||
* handle two fonts of the same name, so the JRE one
|
||||
* must be the first one registered. Pass "true" to
|
||||
* registerFonts method as on-screen these JRE fonts
|
||||
* always go through the JDK rasteriser.
|
||||
*/
|
||||
if (FontUtilities.isLinux) {
|
||||
/* Linux font configuration uses these fonts */
|
||||
registerFontDir(jreFontDirName);
|
||||
}
|
||||
registerJREFonts();
|
||||
|
||||
/* Create the font configuration and get any font path
|
||||
* that might be specified.
|
||||
@@ -713,7 +796,7 @@ public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
|
||||
newFont instanceof TrueTypeFont) {
|
||||
TrueTypeFont oldTTFont = (TrueTypeFont)oldFont;
|
||||
TrueTypeFont newTTFont = (TrueTypeFont)newFont;
|
||||
if (isFontNewer(oldTTFont.getVersion(), newTTFont.getVersion())) {
|
||||
if (oldTTFont.fileSize >= newTTFont.fileSize) {
|
||||
return oldFont;
|
||||
}
|
||||
} else {
|
||||
@@ -1386,7 +1469,7 @@ public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
|
||||
*/
|
||||
HashMap<String,String> fontToFileMap2 = null;
|
||||
HashMap<String,String> fontToFamilyNameMap2 = null;
|
||||
HashMap<String,ArrayList<String>> familyToFontListMap2 = null;
|
||||
HashMap<String,ArrayList<String>> familyToFontListMap2 = null;;
|
||||
|
||||
for (String pathFile : getFontFilesFromPath(false)) {
|
||||
if (!registryFiles.contains(pathFile)) {
|
||||
@@ -2906,8 +2989,12 @@ public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
|
||||
/*
|
||||
* helper function for registerFonts
|
||||
*/
|
||||
private void addDirFonts(String[] ls, int fontFormat, boolean useJavaRasterizer,
|
||||
int fontRank, boolean defer, boolean resolveSymLinks) {
|
||||
private void addDirFonts(String dirName, File dirFile,
|
||||
FilenameFilter filter,
|
||||
int fontFormat, boolean useJavaRasterizer,
|
||||
int fontRank,
|
||||
boolean defer, boolean resolveSymLinks) {
|
||||
String[] ls = dirFile.list(filter);
|
||||
if (ls == null || ls.length == 0) {
|
||||
return;
|
||||
}
|
||||
@@ -2915,8 +3002,8 @@ public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
|
||||
String[][] nativeNames = new String[ls.length][];
|
||||
int fontCount = 0;
|
||||
|
||||
for (String file : ls) {
|
||||
File theFile = new File(file);
|
||||
for (int i=0; i < ls.length; i++ ) {
|
||||
File theFile = new File(dirFile, ls[i]);
|
||||
String fullName = null;
|
||||
if (resolveSymLinks) {
|
||||
try {
|
||||
@@ -2925,7 +3012,7 @@ public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
|
||||
}
|
||||
}
|
||||
if (fullName == null) {
|
||||
fullName = file;
|
||||
fullName = dirName + File.separator + ls[i];
|
||||
}
|
||||
|
||||
// REMIND: case compare depends on platform
|
||||
@@ -3059,101 +3146,30 @@ public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
|
||||
registerFontsInDir(dirName, true, Font2D.JRE_RANK, true, false);
|
||||
}
|
||||
|
||||
private String[] addPathToFiles(FilenameFilter filter, String path) {
|
||||
String[] filteredFiles = (new File(path)).list(filter);
|
||||
if (filteredFiles == null) {
|
||||
return new String[0];
|
||||
}
|
||||
return Arrays.stream(filteredFiles).map((name) -> (path + File.separator + name)).toArray(String[]::new);
|
||||
}
|
||||
|
||||
// MACOSX begin -- need to access this in subclass
|
||||
protected void registerFontsInDir(String dirName, boolean useJavaRasterizer,
|
||||
// MACOSX end
|
||||
int fontRank,
|
||||
boolean defer, boolean resolveSymLinks) {
|
||||
addDirFonts(addPathToFiles(ttFilter, dirName),
|
||||
File pathFile = new File(dirName);
|
||||
addDirFonts(dirName, pathFile, ttFilter,
|
||||
FONTFORMAT_TRUETYPE, useJavaRasterizer,
|
||||
fontRank==Font2D.UNKNOWN_RANK ?
|
||||
Font2D.TTF_RANK : fontRank,
|
||||
defer, resolveSymLinks);
|
||||
addDirFonts(addPathToFiles(t1Filter, dirName),
|
||||
addDirFonts(dirName, pathFile, t1Filter,
|
||||
FONTFORMAT_TYPE1, useJavaRasterizer,
|
||||
fontRank==Font2D.UNKNOWN_RANK ?
|
||||
Font2D.TYPE1_RANK : fontRank,
|
||||
defer, resolveSymLinks);
|
||||
}
|
||||
|
||||
protected String getTrueTypeVersion(String path) {
|
||||
try {
|
||||
return (new TrueTypeFont(path, null, 0, false, false)).getVersion();
|
||||
} catch (FontFormatException e) {
|
||||
return "0";
|
||||
}
|
||||
}
|
||||
|
||||
// SunFontManager could be extended outside JBR scope (e.g. IdeFontManager) therefore default implementation of this
|
||||
// method needed for compatibility. Returning of "0" repeats the logic of setting field versionCheckEnabled to false
|
||||
protected String getSystemFontVersion(TrueTypeFont bundledFont) {
|
||||
return "0";
|
||||
}
|
||||
|
||||
protected void loadJREFonts(String[] fonts) {
|
||||
addDirFonts(fonts, FONTFORMAT_TRUETYPE, true,
|
||||
Font2D.JRE_RANK, true, false);
|
||||
}
|
||||
|
||||
protected static int fontVersionComparator(String versionFirst, String versionSecond) {
|
||||
return Arrays.compare(versionFirst.split("\\."), versionSecond.split("\\."),
|
||||
Comparator.comparing(BigInteger::new));
|
||||
}
|
||||
|
||||
private boolean isFontNewer(String versionFirst, String versionSecond) {
|
||||
return fontVersionComparator(versionFirst, versionSecond) > 0;
|
||||
}
|
||||
|
||||
protected void registerJREFonts() {
|
||||
List<String> fontsToLoad = new ArrayList<>();
|
||||
PlatformLogger logger = FontUtilities.getLogger();
|
||||
boolean isLogging = logger != null && FontUtilities.isLogging();
|
||||
registerFontsInDir(jreFontDirName, true, Font2D.JRE_RANK,
|
||||
true, false);
|
||||
}
|
||||
|
||||
if (!versionCheckEnabled && isLogging) {
|
||||
logger.info("Skip version checking in font loading");
|
||||
}
|
||||
|
||||
for (String fontName : jreBundledFontFiles) {
|
||||
boolean loadFont = true;
|
||||
String bundledVersion = "unknown";
|
||||
String systemVersion = "0";
|
||||
String path = jreFontDirName + File.separator + fontName;
|
||||
if (versionCheckEnabled) {
|
||||
try {
|
||||
TrueTypeFont bundledFont = new TrueTypeFont(path, null, 0, false, false);
|
||||
bundledVersion = bundledFont.getVersion();
|
||||
systemVersion = getSystemFontVersion(bundledFont);
|
||||
|
||||
if (isFontNewer(systemVersion, bundledVersion)) {
|
||||
if (isLogging) {
|
||||
logger.info("Skip loading " + fontName + ", newer version font on platform were detected. " +
|
||||
"System version = " + systemVersion + ", Bundled version = " + bundledVersion + ".");
|
||||
}
|
||||
loadFont = false;
|
||||
}
|
||||
} catch (FontFormatException e) {
|
||||
if (isLogging) {
|
||||
logger.warning("Internal error have appeared while reading bundled font " + fontName + ".");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (loadFont) {
|
||||
fontsToLoad.add(path);
|
||||
if (isLogging) {
|
||||
logger.info("Loaded " + fontName + " (" + bundledVersion + ")");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
loadJREFonts(fontsToLoad.toArray(new String[0]));
|
||||
protected void registerFontDir(String path) {
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3680,4 +3696,78 @@ public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
|
||||
{
|
||||
return new FontUIResource(family, style, size);
|
||||
}
|
||||
|
||||
protected BundledFontInfo getBundledFontInfo(String fileName) {
|
||||
return jreFontMap.get(fileName);
|
||||
}
|
||||
|
||||
protected boolean parseFontVersion(String versionString, int[] version) {
|
||||
int i = 0;
|
||||
boolean foundDigit = false;
|
||||
version[0] = version[1] = version[2] = 0;
|
||||
|
||||
// Skip prefix letters
|
||||
while (i < versionString.length() &&
|
||||
!(foundDigit = Character.isDigit(versionString.charAt(i)))) {
|
||||
i++;
|
||||
}
|
||||
if (!foundDigit) {
|
||||
return false;
|
||||
}
|
||||
StringBuilder buf = new StringBuilder();
|
||||
|
||||
boolean foundDot = false;
|
||||
// Read major version
|
||||
while (i < versionString.length() &&
|
||||
!(foundDot = (versionString.charAt(i) == '.')) &&
|
||||
Character.isDigit(versionString.charAt(i))) {
|
||||
buf.append(versionString.charAt(i));
|
||||
i++;
|
||||
}
|
||||
version[0] = Integer.parseInt(buf.toString());
|
||||
if (!foundDot) {
|
||||
return true;
|
||||
}
|
||||
buf.setLength(0);
|
||||
i++;
|
||||
foundDigit = false;
|
||||
|
||||
// Read minor version
|
||||
while (i < versionString.length() &&
|
||||
!(foundDot = (versionString.charAt(i) == '.')) &&
|
||||
Character.isDigit(versionString.charAt(i))) {
|
||||
buf.append(versionString.charAt(i));
|
||||
foundDigit = true;
|
||||
i++;
|
||||
}
|
||||
if (!foundDigit) {
|
||||
return true;
|
||||
}
|
||||
|
||||
version[1] = Integer.parseInt(buf.toString());
|
||||
|
||||
if (!foundDot) {
|
||||
return true;
|
||||
}
|
||||
|
||||
buf.setLength(0);
|
||||
i++;
|
||||
foundDigit = false;
|
||||
|
||||
// Read bugfix version
|
||||
while (i < versionString.length() &&
|
||||
!(versionString.charAt(i) == '.') &&
|
||||
Character.isDigit(versionString.charAt(i))) {
|
||||
buf.append(versionString.charAt(i));
|
||||
foundDigit = true;
|
||||
i++;
|
||||
}
|
||||
|
||||
if (!foundDigit) {
|
||||
return true;
|
||||
}
|
||||
version[2] = Integer.parseInt(buf.toString());
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,14 +42,10 @@ import java.nio.channels.FileChannel;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedActionException;
|
||||
import java.security.PrivilegedExceptionAction;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import sun.java2d.Disposer;
|
||||
import sun.java2d.DisposerRecord;
|
||||
@@ -116,7 +112,6 @@ public class TrueTypeFont extends FileFont {
|
||||
public static final int SUBFAMILY_NAME_ID = 2;
|
||||
// public static final int STYLE_WEIGHT_ID = 2; // currently unused.
|
||||
public static final int FULL_NAME_ID = 4;
|
||||
public static final int VERSION_NAME_ID = 5;
|
||||
public static final int POSTSCRIPT_NAME_ID = 6;
|
||||
public static final int TYPOGRAPHIC_FAMILY_NAME_ID = 16;
|
||||
public static final int TYPOGRAPHIC_SUBFAMILY_NAME_ID = 17;
|
||||
@@ -191,8 +186,6 @@ public class TrueTypeFont extends FileFont {
|
||||
private String localeFullName;
|
||||
private String typographicFamilyName;
|
||||
private String typographicSubfamilyName;
|
||||
private String version;
|
||||
private String postScriptName;
|
||||
|
||||
private Byte supportedCharset;
|
||||
|
||||
@@ -1123,22 +1116,6 @@ public class TrueTypeFont extends FileFont {
|
||||
}
|
||||
}
|
||||
|
||||
public static String parseVersion(String str) {
|
||||
// get first part sequence of digits and dots
|
||||
Matcher matcher = Pattern.compile("\\d(\\p{XDigit}|\\.)*").matcher(str);
|
||||
if (!matcher.find()) {
|
||||
return "0";
|
||||
}
|
||||
// removing leading zeros and hex parts from version e.g. 00010.002.0ab12.300.040 -> 10.2.300.40
|
||||
String res = Arrays.stream(matcher.group().split("\\.")).filter(s -> s.matches("\\d+")).
|
||||
map(s -> (s.replaceFirst("^0*", ""))).map(s -> s.isEmpty() ? "0" : s).collect(Collectors.joining("."));
|
||||
return !res.isEmpty() ? res : "0";
|
||||
}
|
||||
|
||||
public String getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
protected void initNames() {
|
||||
|
||||
byte[] name = new byte[256];
|
||||
@@ -1248,22 +1225,6 @@ public class TrueTypeFont extends FileFont {
|
||||
}
|
||||
break;
|
||||
|
||||
case VERSION_NAME_ID:
|
||||
if (version == null || langID == ENGLISH_LOCALE_ID) {
|
||||
buffer.position(namePtr);
|
||||
buffer.get(name, 0, nameLen);
|
||||
version = parseVersion(makeString(name, nameLen, platformID, encodingID));
|
||||
}
|
||||
break;
|
||||
|
||||
case POSTSCRIPT_NAME_ID:
|
||||
if (postScriptName == null || langID == ENGLISH_LOCALE_ID) {
|
||||
buffer.position(namePtr);
|
||||
buffer.get(name, 0, nameLen);
|
||||
postScriptName = makeString(name, nameLen, platformID, encodingID);
|
||||
}
|
||||
break;
|
||||
|
||||
case TYPOGRAPHIC_FAMILY_NAME_ID:
|
||||
if (typographicFamilyName == null || langID == ENGLISH_LOCALE_ID) {
|
||||
buffer.position(namePtr);
|
||||
@@ -1290,12 +1251,6 @@ public class TrueTypeFont extends FileFont {
|
||||
if (typographicSubfamilyName == null) {
|
||||
typographicSubfamilyName = subfamilyName;
|
||||
}
|
||||
if (version == null) {
|
||||
version = "0";
|
||||
}
|
||||
if (postScriptName == null) {
|
||||
postScriptName = fullName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1368,7 +1323,12 @@ public class TrueTypeFont extends FileFont {
|
||||
*/
|
||||
@Override
|
||||
public String getPostscriptName() {
|
||||
return postScriptName;
|
||||
String name = lookupName(ENGLISH_LOCALE_ID, POSTSCRIPT_NAME_ID);
|
||||
if (name == null) {
|
||||
return fullName;
|
||||
} else {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
|
||||
package sun.awt;
|
||||
|
||||
import sun.font.*;
|
||||
import sun.font.FcFontConfiguration;
|
||||
import sun.font.FontConfigManager;
|
||||
import sun.font.SunFontManager;
|
||||
|
||||
/**
|
||||
* A {@link sun.font.FontManager} that uses fontconfig to find system fonts.
|
||||
@@ -43,13 +45,6 @@ public class FcFontManager extends SunFontManager {
|
||||
return fcManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getSystemFontVersion(TrueTypeFont bundledFont) {
|
||||
String query = bundledFont.getTypographicFamilyName() + ":style=" + bundledFont.getTypographicSubfamilyName();
|
||||
String systemFont = FontConfigManager.getFontProperty(query, "%{file}");
|
||||
return systemFont != null ? getTrueTypeVersion(systemFont) : "0";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FontConfiguration createFontConfiguration() {
|
||||
FcFontConfiguration fcFontConfig = new FcFontConfiguration(this);
|
||||
|
||||
@@ -38,7 +38,6 @@ import java.util.Map;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.Vector;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import javax.swing.plaf.FontUIResource;
|
||||
import sun.font.MFontConfiguration;
|
||||
@@ -51,8 +50,6 @@ import sun.font.FontUtilities;
|
||||
import sun.font.NativeFont;
|
||||
import sun.util.logging.PlatformLogger;
|
||||
|
||||
import static sun.font.SunFontManager.jreFontDirName;
|
||||
|
||||
/**
|
||||
* The X11 implementation of {@link FontManager}.
|
||||
*/
|
||||
@@ -281,7 +278,8 @@ public final class X11FontManager extends FcFontManager {
|
||||
* the loadFonts() method does too. So all should be well.
|
||||
|
||||
*/
|
||||
private void registerFontDir(String path) {
|
||||
@Override
|
||||
protected void registerFontDir(String path) {
|
||||
/* fonts.dir file format looks like :-
|
||||
* 47
|
||||
* Arial.ttf -monotype-arial-regular-r-normal--0-0-0-0-p-0-iso8859-1
|
||||
@@ -430,12 +428,6 @@ public final class X11FontManager extends FcFontManager {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void registerJREFonts() {
|
||||
registerFontDir(jreFontDirName);
|
||||
super.registerJREFonts();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadFonts() {
|
||||
super.loadFonts();
|
||||
|
||||
@@ -454,7 +454,6 @@ public class FontConfigManager {
|
||||
return fcInfo;
|
||||
}
|
||||
|
||||
private static native int getFontConfigAASettings(String locale, String fcFamily);
|
||||
|
||||
public static native String getFontProperty(String name, String pattern);
|
||||
private static native int
|
||||
getFontConfigAASettings(String locale, String fcFamily);
|
||||
}
|
||||
|
||||
@@ -511,7 +511,6 @@ typedef FcPattern* (*FcFontMatchFuncType)(FcConfig *config,
|
||||
FcResult *result);
|
||||
typedef FcFontSet* (*FcFontSetCreateFuncType)();
|
||||
typedef FcBool (*FcFontSetAddFuncType)(FcFontSet *s, FcPattern *font);
|
||||
typedef void (*FcStrFreeFuncType)(FcChar8 *str);
|
||||
|
||||
typedef FcResult (*FcPatternGetCharSetFuncType)(FcPattern *p,
|
||||
const char *object,
|
||||
@@ -534,11 +533,6 @@ typedef FcStrList* (*FcConfigGetCacheDirsFuncType)(FcConfig *config);
|
||||
typedef FcChar8* (*FcStrListNextFuncType)(FcStrList *list);
|
||||
typedef FcChar8* (*FcStrListDoneFuncType)(FcStrList *list);
|
||||
|
||||
typedef unsigned int (*FcFreeTypeQueryAllFuncType)(const FcChar8 *file, unsigned int id, FcBlanks *blanks,
|
||||
int *count, FcFontSet *set);
|
||||
|
||||
typedef FcChar8* (*FcPatternFormatFuncType)(FcPattern *pat, const FcChar8 *format);
|
||||
|
||||
static char **getFontConfigLocations() {
|
||||
|
||||
char **fontdirs;
|
||||
@@ -776,7 +770,7 @@ Java_sun_font_FontConfigManager_getFontConfigAASettings
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_sun_font_FontConfigManager_getFontConfigVersion
|
||||
(JNIEnv *env, jclass obj) {
|
||||
(JNIEnv *env, jclass obj) {
|
||||
|
||||
void* libfontconfig;
|
||||
FcGetVersionFuncType FcGetVersion;
|
||||
@@ -798,90 +792,6 @@ Java_sun_font_FontConfigManager_getFontConfigVersion
|
||||
return version;
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_sun_font_FontConfigManager_getFontProperty
|
||||
(JNIEnv *env, jclass obj, jstring query, jstring property) {
|
||||
|
||||
void* libfontconfig = NULL;
|
||||
FcNameParseFuncType FcNameParse;
|
||||
FcPatternFormatFuncType FcPatternFormat;
|
||||
FcConfigSubstituteFuncType FcConfigSubstitute;
|
||||
FcDefaultSubstituteFuncType FcDefaultSubstitute;
|
||||
FcFontMatchFuncType FcFontMatch;
|
||||
FcStrFreeFuncType FcStrFree;
|
||||
|
||||
const char *queryPtr = NULL;
|
||||
const char *propertyPtr = NULL;
|
||||
FcChar8 *fontFamily = NULL;
|
||||
FcChar8 *fontPath = NULL;
|
||||
jstring res = NULL;
|
||||
|
||||
if ((libfontconfig = openFontConfig()) == NULL) {
|
||||
goto cleanup;
|
||||
}
|
||||
FcPatternFormat = (FcPatternFormatFuncType)dlsym(libfontconfig, "FcPatternFormat");
|
||||
FcNameParse = (FcNameParseFuncType)dlsym(libfontconfig, "FcNameParse");
|
||||
FcConfigSubstitute = (FcConfigSubstituteFuncType)dlsym(libfontconfig, "FcConfigSubstitute");
|
||||
FcDefaultSubstitute = (FcDefaultSubstituteFuncType)dlsym(libfontconfig, "FcDefaultSubstitute");
|
||||
FcFontMatch = (FcFontMatchFuncType)dlsym(libfontconfig, "FcFontMatch");
|
||||
FcStrFree = (FcStrFreeFuncType)dlsym(libfontconfig, "FcStrFree");
|
||||
|
||||
queryPtr = (*env)->GetStringUTFChars(env, query, 0);
|
||||
propertyPtr = (*env)->GetStringUTFChars(env, property, 0);
|
||||
if (queryPtr == NULL || propertyPtr == NULL) {
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
FcPattern *pattern = (*FcNameParse)((FcChar8 *) queryPtr);
|
||||
if (pattern == NULL) {
|
||||
goto cleanup;
|
||||
}
|
||||
(*FcConfigSubstitute)(NULL, pattern, FcMatchScan);
|
||||
(*FcDefaultSubstitute)(pattern);
|
||||
|
||||
FcResult fcResult;
|
||||
FcPattern *match = (*FcFontMatch)(0, pattern, &fcResult);
|
||||
if (match == NULL || fcResult != FcResultMatch) {
|
||||
goto cleanup;
|
||||
}
|
||||
fontFamily = (FcPatternFormat)(match, (FcChar8*) "%{family}");
|
||||
if (fontFamily == NULL) {
|
||||
goto cleanup;
|
||||
}
|
||||
// result of foundFontName could be set of families, so we left only first family
|
||||
char *commaPos = strchr((char *) fontFamily, ',');
|
||||
if (commaPos != NULL) {
|
||||
*commaPos = '\0';
|
||||
}
|
||||
if (strstr(queryPtr, (char *) fontFamily) == NULL) {
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
fontPath = (FcPatternFormat)(match, (FcChar8*) propertyPtr);
|
||||
if (fontPath == NULL) {
|
||||
goto cleanup;
|
||||
}
|
||||
res = (*env)->NewStringUTF(env, (char *) fontPath);
|
||||
|
||||
cleanup:
|
||||
if (fontPath) {
|
||||
(FcStrFree)(fontPath);
|
||||
}
|
||||
if (fontFamily) {
|
||||
(FcStrFree)(fontFamily);
|
||||
}
|
||||
if (propertyPtr) {
|
||||
(*env)->ReleaseStringUTFChars(env, property, (const char*)propertyPtr);
|
||||
}
|
||||
if (queryPtr) {
|
||||
(*env)->ReleaseStringUTFChars(env, query, (const char*)queryPtr);
|
||||
}
|
||||
if (libfontconfig) {
|
||||
closeFontConfig(libfontconfig, JNI_FALSE);
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_sun_font_FontConfigManager_getFontConfig
|
||||
|
||||
@@ -31,18 +31,14 @@ import java.awt.GraphicsEnvironment;
|
||||
import java.io.File;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
import java.util.Arrays;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Locale;
|
||||
import java.util.Optional;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import sun.awt.windows.WFontConfiguration;
|
||||
import sun.font.FontManager;
|
||||
import sun.font.FontUtilities;
|
||||
import sun.font.SunFontManager;
|
||||
import sun.font.TrueTypeFont;
|
||||
|
||||
@@ -51,7 +47,6 @@ import sun.font.TrueTypeFont;
|
||||
*/
|
||||
@SuppressWarnings("removal")
|
||||
public final class Win32FontManager extends SunFontManager {
|
||||
private HashMap<String, String> windowsSystemVersion = null;
|
||||
|
||||
private static TrueTypeFont eudcFont;
|
||||
|
||||
@@ -195,28 +190,6 @@ public final class Win32FontManager extends SunFontManager {
|
||||
preferLocaleFonts,preferPropFonts);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void registerJREFonts() {
|
||||
if (versionCheckEnabled) {
|
||||
windowsSystemVersion = new HashMap<>();
|
||||
HashMap<String, String> fontToFileMap = new HashMap<>(100);
|
||||
populateFontFileNameMap(fontToFileMap, new HashMap<>(), new HashMap<>(), Locale.ENGLISH);
|
||||
for (String key : fontToFileMap.keySet()) {
|
||||
// find maximum observable platform font's version
|
||||
Optional<String> version = Stream.concat(Arrays.stream(getPlatformFontDirs(true)), Stream.of("")).
|
||||
map((path) -> (getTrueTypeVersion(path + File.separator + fontToFileMap.get(key)))).
|
||||
max(SunFontManager::fontVersionComparator);
|
||||
windowsSystemVersion.put(key, version.isPresent() ? version.get() : "0");
|
||||
}
|
||||
}
|
||||
super.registerJREFonts();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getSystemFontVersion(TrueTypeFont bundledFont) {
|
||||
return windowsSystemVersion.getOrDefault(bundledFont.getFullName().toLowerCase(), "0");
|
||||
}
|
||||
|
||||
protected void
|
||||
populateFontFileNameMap(HashMap<String,String> fontToFileMap,
|
||||
HashMap<String,String> fontToFamilyNameMap,
|
||||
|
||||
@@ -50,7 +50,9 @@ gtest/MetaspaceGtests.java#balanced-no-ccs initial_run generic-all
|
||||
gtest/MetaspaceGtests.java#reclaim-aggressive-ndebug initial_run generic-all
|
||||
gtest/LargePageGtests.java#use-large-pages initial_run linux-all,windows-all
|
||||
|
||||
gtest/NMTGtests.java JBR-5718 generic-all
|
||||
gtest/NMTGtests.java#nmt-detail JBR-5718 generic-all
|
||||
gtest/NMTGtests.java#nmt-off JBR-5718 generic-all
|
||||
gtest/NMTGtests.java#nmt-summary JBR-5718 generic-all
|
||||
|
||||
gc/stress/TestReclaimStringsLeaksMemory.java initial_run windows-all
|
||||
|
||||
|
||||
@@ -117,6 +117,7 @@ java/awt/Desktop/8064934/bug8064934.java JBR-5764 windows-all
|
||||
java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.java 8168389 windows-all,macosx-all
|
||||
java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java 8081489 generic-all
|
||||
java/awt/Focus/FocusSubRequestTest/FocusSubRequestTest.java JBR-5178 windows-all
|
||||
java/awt/Focus/FocusTransitionTest/FocusTransitionTest.java JBR-5809 linux-all
|
||||
java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java JBR-5210 windows-all
|
||||
java/awt/Focus/FrameMinimizeTest/FrameMinimizeTest.java 8016266 linux-all
|
||||
java/awt/Focus/IconifiedFrameFocusChangeTest/IconifiedFrameFocusChangeTest.java 6849364 generic-all
|
||||
@@ -133,6 +134,7 @@ java/awt/FileDialog/FileDialogIconTest/FileDialogIconTest.java 8160558 windows-a
|
||||
java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_1.java 8204200 windows-all,macosx-all,linux-all
|
||||
java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.java 8204200 windows-all,macosx-all,linux-all
|
||||
java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_4.java 8204200 windows-all,macosx-all,linux-all
|
||||
java/awt/dnd/Button2DragTest/Button2DragTest.java 8310490 linux-all
|
||||
java/awt/dnd/DropTargetEnterExitTest/ExtraDragEnterTest.java 8029680 generic-all
|
||||
java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java JBR-5730 linux-all
|
||||
java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java JBR-5727 linux-all
|
||||
@@ -208,6 +210,7 @@ java/awt/Focus/ShowFrameCheckForegroundTest/ShowFrameCheckForegroundTest.java JB
|
||||
java/awt/datatransfer/DragImage/MultiResolutionDragImageTest.java 8080982 generic-all
|
||||
java/awt/datatransfer/SystemFlavorMap/AddFlavorTest.java 8079268 linux-all
|
||||
java/awt/datatransfer/UnicodeTransferTest/UnicodeTransferTest.java 8300704 linux-all
|
||||
java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java JBR-5812 linux-all
|
||||
java/awt/Toolkit/SunDisplayChangerLeakTest/SunDisplayChangerLeakTest.java JBR-5051 windows-all
|
||||
java/awt/Toolkit/RealSync/Test.java 8072110 linux-all,windows-all
|
||||
java/awt/LightweightComponent/LightweightEventTest/LightweightEventTest.java 8159252,JBR-5050 windows-all,macosx-all
|
||||
@@ -286,10 +289,12 @@ java/awt/image/multiresolution/MultiResolutionJOptionPaneIconTest.java 8253184,J
|
||||
java/awt/print/Headless/HeadlessPrinterJob.java 8196088 windows-all
|
||||
sun/awt/datatransfer/SuplementaryCharactersTransferTest.java 8011371 generic-all
|
||||
sun/awt/shell/ShellFolderMemoryLeak.java 8197794 windows-all
|
||||
sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java 8301177 generic-all
|
||||
sun/java2d/DirectX/OpaqueImageToSurfaceBlitTest/OpaqueImageToSurfaceBlitTest.java JBR-5393 windows-aarch64
|
||||
sun/java2d/DirectX/OverriddenInsetsTest/OverriddenInsetsTest.java 8196102 generic-all
|
||||
sun/java2d/DirectX/RenderingToCachedGraphicsTest/RenderingToCachedGraphicsTest.java 8196180,8252812 windows-all,macosx-all,linux-all
|
||||
sun/java2d/Disposer/TestDisposerLeak.java 8310877 generic-all
|
||||
sun/java2d/SunGraphics2D/DrawImageBilinear.java 8297175 linux-all
|
||||
|
||||
java/awt/Graphics2D/CopyAreaOOB.java JBR-5354 macosx-all,windows-all
|
||||
java/awt/Graphics2D/DrawString/DisposerTest.java JBR-5010,JBR-5510 linux-aarch64,linux-5.18.2-arch1-1
|
||||
@@ -305,7 +310,7 @@ sun/java2d/SunGraphics2D/SourceClippingBlitTest/SourceClippingBlitTest.java 8196
|
||||
|
||||
sun/java2d/pipe/InterpolationQualityTest.java JBR-5328 windows-all
|
||||
|
||||
sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh 8221451,JBR-5359 linux-all,macosx-all,windows-aarch64
|
||||
sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh 8221451,7184899,JBR-5359 linux-all,macosx-all,windows-aarch64,windows-x64
|
||||
java/awt/hidpi/ClientAreaOriginWindowsTest.java 8303491 windows-all
|
||||
java/awt/FullScreen/DisplayChangeVITest/DisplayChangeVITest.java 8169469 windows-all
|
||||
java/awt/print/PrinterJob/PSQuestionMark.java 7003378 generic-all
|
||||
@@ -316,6 +321,9 @@ java/awt/Component/GetScreenLocTest/GetScreenLocTest.java 4753654 generic-all
|
||||
java/awt/Component/SetComponentsBounds/SetComponentsBounds.java JBR-4275 linux-all
|
||||
java/awt/Component/SetEnabledPerformance/SetEnabledPerformance.java 8165863 macosx-all
|
||||
java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.java 8017454 macosx-all
|
||||
java/awt/Frame/MiscUndecorated/ActiveAWTWindowTest.java JBR-5210 windows-all
|
||||
java/awt/Frame/MiscUndecorated/ActiveSwingWindowTest.java JBR-5210 windows-all
|
||||
java/awt/Frame/MiscUndecorated/FrameCloseTest.java JBR-5210 windows-all
|
||||
java/awt/Frame/MiscUndecorated/RepaintTest.java 8266244,JBR-5786 macosx-aarch64,linux-all
|
||||
java/awt/Robot/HiDPIMouseClick/HiDPIRobotMouseClick.java 8253184 windows-all
|
||||
java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java 8157173 generic-all
|
||||
@@ -471,7 +479,7 @@ java/awt/Modal/MultipleDialogs/MultipleDialogs4Test.java 8198665,8253184,JBR-551
|
||||
java/awt/Modal/MultipleDialogs/MultipleDialogs5Test.java 8198665,8253184 macosx-all,windows-all
|
||||
java/awt/Mouse/EnterExitEvents/DragWindowOutOfFrameTest.java 8177326,8253184 macosx-all,windows-all
|
||||
java/awt/Mouse/EnterExitEvents/DragWindowTest.java 8023562,8253184,JBR-5710 macosx-all,windows-all,linux-all
|
||||
java/awt/Mouse/EnterExitEvents/ModalDialogEnterExitEventsTest.java 8253184 windows-all
|
||||
java/awt/Mouse/EnterExitEvents/ModalDialogEnterExitEventsTest.java 8253184,JBR-5811 windows-all,linux-all
|
||||
java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java 8005021,8253184 macosx-all,windows-all
|
||||
java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java 8051455 macosx-all
|
||||
java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.java 8253184,JBR-5709 windows-all,linux-all
|
||||
@@ -575,7 +583,7 @@ java/awt/Modal/OnTop/OnTopTKModal4Test.java 8198666,8253184 macosx-all,windows-a
|
||||
java/awt/Modal/OnTop/OnTopTKModal5Test.java 8198666,8253184 macosx-all,windows-all
|
||||
java/awt/Modal/OnTop/OnTopTKModal6Test.java 8198666,8253184 macosx-all,windows-all
|
||||
java/awt/List/EmptyListEventTest/EmptyListEventTest.java JBR-5387 linux-all
|
||||
java/awt/List/FirstItemRemoveTest/FirstItemRemoveTest.java JBR-86 windows-x64
|
||||
java/awt/List/FirstItemRemoveTest/FirstItemRemoveTest.java JBR-86 windows-all
|
||||
java/awt/List/ItemEventTest/ItemEventTest.java JBR-5711 linux-all
|
||||
java/awt/List/KeyEventsTest/KeyEventsTest.java JBR-5210 windows-all
|
||||
java/awt/List/ListMultipleSelectTest/ListMultipleSelectTest.java JBR-5555 windows-all
|
||||
@@ -585,6 +593,7 @@ javax/print/PrintSEUmlauts/PrintSEUmlauts.java 8135174 generic-all
|
||||
java/awt/image/VolatileImage/CustomCompositeTest.java 8199002 windows-all,linux-all
|
||||
java/awt/image/VolatileImage/GradientPaints.java 8199003 linux-all
|
||||
java/awt/JAWT/JAWT.sh 8197798 windows-all,linux-all
|
||||
java/awt/Desktop/8064934/bug8064934.java JBR-5799 windows-all
|
||||
java/awt/datatransfer/ConstructFlavoredObjectTest/ConstructFlavoredObjectTest.java 8202860 linux-all
|
||||
java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java 8202790 macosx-all,linux-all
|
||||
java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java 8202931 macosx-all,linux-all
|
||||
@@ -833,7 +842,7 @@ javax/swing/plaf/basic/BasicComboPopup/JComboBoxPopupLocation/JComboBoxPopupLoca
|
||||
javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java 8253184,JBR-5510 windows-all,linux-5.18.2-arch1-1
|
||||
javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java 8253184 windows-all
|
||||
javax/swing/plaf/basic/BasicTextUI/8001470/bug8001470.java 8233177 linux-all,windows-all
|
||||
javax/swing/plaf/basic/BasicTreeUI/8023474/bug8023474.java 8253184 windows-all
|
||||
javax/swing/plaf/basic/BasicTreeUI/8023474/bug8023474.java 8253184 linux-all,windows-all
|
||||
javax/swing/plaf/nimbus/8041642/bug8041642.java 8253184,JBR-5510 windows-all,linux-5.18.2-arch1-1
|
||||
javax/swing/plaf/nimbus/8057791/bug8057791.java 8253184,JBR-5510 windows-all,linux-5.18.2-arch1-1
|
||||
javax/swing/plaf/nimbus/TestNimbusBGColor.java JBR-5359 windows-aarch64
|
||||
@@ -842,7 +851,7 @@ javax/swing/plaf/windows/6921687/bug6921687.java 8253184 windows-all
|
||||
javax/swing/plaf/windows/WindowsRootPaneUI/WrongAltProcessing/WrongAltProcessing.java JBR-4372 windows-all
|
||||
|
||||
javax/swing/Box/TestBoxFiller.java JBR-5210 windows-all
|
||||
javax/swing/DefaultButtonModel/DefaultButtonModelCrashTest.java JBR-5210 windows-all
|
||||
javax/swing/DefaultButtonModel/DefaultButtonModelCrashTest.java JBR-5210,JBR-5799 windows-all
|
||||
javax/swing/GraphicsConfigNotifier/StalePreferredSize.java JBR-5210 windows-all
|
||||
javax/swing/JButton/4368790/bug4368790.java JBR-5210 windows-all
|
||||
javax/swing/JButton/4659800/SpaceKeyActivatesButton.java JBR-4949 linux-all,windows-all
|
||||
@@ -895,6 +904,7 @@ javax/swing/JColorChooser/Test8051548.java JBR-5210 windows-all
|
||||
javax/swing/JComboBox/4743225/bug4743225.java JBR-5210 windows-all
|
||||
javax/swing/JComboBox/6236162/bug6236162.java JBR-5210 windows-all
|
||||
javax/swing/JComboBox/ConsumedKeyTest/ConsumedKeyTest.java JBR-5210 windows-all
|
||||
javax/swing/JEditorPane/bug4714674.java JBR-5810 windows-all
|
||||
javax/swing/JComboBox/DisabledComboBoxFontTestAuto.java 8310072 linux-all,windows-all
|
||||
javax/swing/JEditorPane/JEditorPaneGCSwitchTest/JEditorPaneGCSwitchTest_i18n.java JBR-912 windows-all
|
||||
javax/swing/JEditorPane/JEditorPaneGCSwitchTest/JEditorPaneGCSwitchTest.java JBR-912 windows-all
|
||||
@@ -930,6 +940,7 @@ javax/swing/JInternalFrame/6647340/bug6647340.java 8253184 windows-all
|
||||
javax/swing/JInternalFrame/8145060/TestJInternalFrameMinimize.java JBR-788 windows-all,linux-all
|
||||
javax/swing/JInternalFrame/8145896/TestJInternalFrameMaximize.java JBR-5539 windows-x64
|
||||
javax/swing/JInternalFrame/Test6325652.java 8224977 macosx-all,windows-all
|
||||
javax/swing/JInternalFrame/Test6505027.java 8288428 linux-all
|
||||
javax/swing/JInternalFrame/Test6802868.java 8253184 windows-all
|
||||
javax/swing/JPopupMenu/4634626/bug4634626.java 8253184 windows-all
|
||||
javax/swing/JPopupMenu/4760494/bug4760494.java 8253184 windows-all
|
||||
@@ -1114,6 +1125,7 @@ java/awt/TextArea/TextAreaTwicePack/TextAreaTwicePack.java 8253184 windows-all
|
||||
java/awt/TextField/OverScrollTest/OverScrollTest.java 8253184 windows-all
|
||||
java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter.java 8254841 macosx-all
|
||||
java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java 8256289,JBR-5359 windows-x64,windows-aarch64
|
||||
java/awt/Focus/RowToleranceTransitivityTest.java JBR-5751 windows-all
|
||||
java/awt/FullScreen/TranslucentWindow/TranslucentWindow.java 8258103,8253184 linux-all,windows-all
|
||||
|
||||
java/util/Properties/PropertiesStoreTest.java 8282023 generic-all
|
||||
@@ -1183,7 +1195,7 @@ javax/swing/SwingUtilities/4917669/bug4917669.java
|
||||
javax/swing/SwingUtilities/7146377/bug7146377.java JBR-4679 windows-all
|
||||
|
||||
java/awt/dnd/AcceptDropMultipleTimes/AcceptDropMultipleTimes.java JBR-4880 windows-all
|
||||
java/awt/event/KeyEvent/DeadKey/DeadKeySystemAssertionDialog.java JBR-4880,JBR-5706 windows-all,linux-aarch64
|
||||
java/awt/event/KeyEvent/DeadKey/DeadKeySystemAssertionDialog.java JBR-4880,JBR-5706 windows-all,linux-all
|
||||
java/awt/event/KeyEvent/KeyCharTest/KeyCharTest.java JBR-4880 windows-all
|
||||
java/awt/Frame/LayoutOnMaximizeTest/LayoutOnMaximizeTest.java JBR-4880 windows-all
|
||||
java/awt/Frame/MiscUndecorated/UndecoratedInitiallyIconified.java JBR-4880 windows-all
|
||||
@@ -1201,7 +1213,7 @@ javax/swing/JSpinner/8223788/JSpinnerButtonFocusTest.java JBR-5210 windows-all
|
||||
javax/swing/JSpinner/JSpinnerFocusTest.java JBR-5288 windows-all
|
||||
javax/swing/JSpinner/SpinnerTest.java JBR-4880 windows-all
|
||||
javax/swing/JSpinner/TestJSpinnerFocusLost.java JBR-5210 windows-all
|
||||
javax/swing/JTable/7068740/bug7068740.java 8197552 windows-all
|
||||
javax/swing/JTable/7068740/bug7068740.java 8197552,8305780 windows-all,linux-all
|
||||
javax/swing/text/FlowView/LayoutTest.java JBR-4880 windows-all
|
||||
javax/swing/text/html/7189299/bug7189299.java JBR-4880 windows-all
|
||||
jb/java/jcef/HandleJSQueryTest3314.sh JBR-4866 linux-all
|
||||
@@ -1221,6 +1233,7 @@ jb/javax/swing/JDialog/JDialog186.java JBR-5210 windows-all
|
||||
jb/javax/swing/JDialog/JDialog392.java JBR-4941 macosx-all,linux-all
|
||||
jb/javax/swing/JDialog/JDialog705.java JBR-4934 generic-all
|
||||
jb/javax/swing/JEditorPane/ZeroMargin.java 8242410 generic-all
|
||||
jb/javax/swing/JPopupMenu/JPopupMenuOutOfWindowTest.java JBR-5746 windows-all,linux-all
|
||||
|
||||
jb/java/awt/Window/ModalDialogAndPopup.java JBR-4984 macosx-all
|
||||
jb/java/awt/Window/ZOrderOnModalDialogActivation.java JBR-5714 windows-all
|
||||
@@ -1259,10 +1272,10 @@ javax/sound/sampled/spi/MixerProvider/ExpectedNPEOnNull.java JBR-4455 linux-aarc
|
||||
javax/sound/sampled/Clip/ClipIsRunningAfterStop.java JBR-4455 linux-aarch64
|
||||
javax/sound/sampled/Mixers/BogusMixers.java JBR-4455 linux-aarch64
|
||||
|
||||
java/awt/Choice/RemoveAllShrinkTest/RemoveAllShrinkTest.java JBR-5359,JBR-5510 windows-aarch64,linux-5.18.2-arch1-1
|
||||
java/awt/Choice/RemoveAllShrinkTest/RemoveAllShrinkTest.java JBR-5359,JBR-5510,8310487 windows-aarch64,linux-5.18.2-arch1-1,linux-all
|
||||
java/awt/Choice/ResizeAutoClosesChoice/ResizeAutoClosesChoice.java JBR-5359,JBR-5510 windows-aarch64,linux-5.18.2-arch1-1
|
||||
java/awt/ColorClass/XRenderTranslucentColorDrawTest.java JBR-5359 windows-aarch64
|
||||
java/awt/Frame/InvisibleOwner/InvisibleOwner.java JBR-5359,JBR-5510 windows-aarch64,linux-5.18.2-arch1-1
|
||||
java/awt/Frame/InvisibleOwner/InvisibleOwner.java JBR-5359,JBR-5510,8285094 windows-aarch64,linux-all
|
||||
java/awt/Graphics/CopyScaledArea/CopyScaledAreaTest.java JBR-5359 windows-aarch64
|
||||
java/awt/Graphics2D/FillTexturePaint/FillTexturePaint.java JBR-5359 windows-aarch64
|
||||
java/awt/Graphics2D/FlipDrawImage/FlipDrawImage.java JBR-5359 windows-aarch64
|
||||
@@ -1292,19 +1305,19 @@ javax/swing/JSplitPane/4820080/JSplitPaneDragColorTest.java JBR-5359,JBR-5510 wi
|
||||
javax/swing/plaf/nimbus/8041642/ScrollBarThumbVisibleTest.java JBR-5359,JBR-5510 windows-aarch64,linux-5.18.2-arch1-1
|
||||
javax/swing/text/html/CSS/4530474/bug4530474.java JBR-5359,JBR-5510 windows-aarch64,linux-5.18.2-arch1-1
|
||||
jb/java/awt/CustomTitleBar/ActionListenerTest.java JBR-5550 windows-all
|
||||
jb/java/awt/CustomTitleBar/DialogNativeControlsTest.java JBR-5359 windows-aarch64
|
||||
jb/java/awt/CustomTitleBar/FrameNativeControlsTest.java JBR-5359 windows-aarch64
|
||||
jb/java/awt/CustomTitleBar/JDialogNativeControlsTest.java JBR-5359 windows-aarch64
|
||||
jb/java/awt/CustomTitleBar/DialogNativeControlsTest.java JBR-5359,JBR-5345 windows-aarch64,windows-x64
|
||||
jb/java/awt/CustomTitleBar/FrameNativeControlsTest.java JBR-5359,JBR-5345 windows-aarch64,windows-x64
|
||||
jb/java/awt/CustomTitleBar/JDialogNativeControlsTest.java JBR-5359,JBR-5345 windows-aarch64,windows-x64
|
||||
jb/java/awt/CustomTitleBar/HitTestClientArea.java JBR-5551 windows-all
|
||||
jb/java/awt/CustomTitleBar/HitTestNonClientArea.java JBR-5550 windows-all
|
||||
jb/java/awt/CustomTitleBar/MaximizeWindowTest.java JBR-5550 windows-all
|
||||
jb/java/awt/CustomTitleBar/MinimizingWindowTest.java JBR-5359 windows-aarch64
|
||||
jb/java/awt/CustomTitleBar/NativeControlsVisibilityTest.java JBR-5359 windows-aarch64
|
||||
jb/java/awt/CustomTitleBar/WindowsControlWidthTest.java JBR-5359 windows-aarch64
|
||||
jb/java/awt/CustomTitleBar/MinimizingWindowTest.java JBR-5359,JBR-5345 windows-aarch64,windows-x64
|
||||
jb/java/awt/CustomTitleBar/NativeControlsVisibilityTest.java JBR-5359,JBR-5345 windows-aarch64,windows-x64
|
||||
jb/java/awt/CustomTitleBar/WindowsControlWidthTest.java JBR-5359,JBR-5345 windows-aarch64,windows-x64
|
||||
sanity/client/SwingSet/src/EditorPaneDemoTest.java JBR-5359,JBR-5510 windows-aarch64,linux-5.18.2-arch1-1
|
||||
sun/java2d/AcceleratedXORModeTest.java JBR-5359 windows-aarch64
|
||||
sun/java2d/GdiRendering/ClipShapeRendering.java JBR-5359,JBR-5510 windows-aarch64,linux-5.18.2-arch1-1
|
||||
sun/java2d/GdiRendering/InsetClipping.java JBR-5359,JBR-5510 windows-aarch64,linux-5.18.2-arch1-1
|
||||
sun/java2d/GdiRendering/InsetClipping.java 7124403,JBR-5359,JBR-5510 windows-x64,macosx-all,windows-aarch64,linux-5.18.2-arch1-1
|
||||
|
||||
java/awt/Choice/PopdownGeneratesMouseEvents/PopdownGeneratesMouseEvents.java JBR-5510 linux-5.18.2-arch1-1
|
||||
java/awt/Insets/DialogInsets.java JBR-5510 linux-5.18.2-arch1-1
|
||||
@@ -1315,3 +1328,6 @@ javax/swing/JSpinner/4670051/DateFieldUnderCursorTest.java JBR-5510 linux-5.18.2
|
||||
javax/swing/JSpinner/4788637/bug4788637.java JBR-5510 linux-5.18.2-arch1-1
|
||||
javax/swing/LookAndFeel/8145547/DemandGTK2.sh JBR-5510 linux-5.18.2-arch1-1
|
||||
javax/swing/LookAndFeel/8145547/DemandGTK3.sh JBR-5510 linux-5.18.2-arch1-1
|
||||
|
||||
java/awt/Toolkit/LockingKeyStateTest/LockingKeyStateTest.java JBR-5765 macosx-all
|
||||
jb/sun/awt/macos/InputMethodTest/FocusMoveUncommitedCharactersTest.java JBR-5765 macosx-all
|
||||
@@ -12,7 +12,6 @@ java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java nobug windows-all
|
||||
java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java nobug windows-all
|
||||
java/awt/Mixing/AWT_Mixing/JGlassPaneInternalFrameOverlapping.java nobug windows-all
|
||||
java/awt/Mixing/AWT_Mixing/JGlassPaneMoveOverlapping.java nobug windows-all
|
||||
java/awt/Mouse/EnterExitEvents/ModalDialogEnterExitEventsTest.java nobug windows-all,linux-all
|
||||
java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.java JBR-4354 windows-all,linux-all # linux: JBR-4354
|
||||
java/awt/Mouse/MouseComboBoxTest/MouseComboBoxTest.java nobug windows-all
|
||||
java/awt/Paint/PaintNativeOnUpdate.java nobug windows-all
|
||||
@@ -39,7 +38,6 @@ javax/swing/JEditorPane/8195095/ImageViewTest.java nobug windows-all
|
||||
javax/swing/JFrame/8016356/bug8016356.java nobug windows-all
|
||||
javax/swing/JFrame/8175301/ScaledFrameBackgroundTest.java nobug windows-all
|
||||
javax/swing/JInternalFrame/5066752/bug5066752.java nobug windows-all
|
||||
javax/swing/JInternalFrame/Test6505027.java nobug windows-all
|
||||
javax/swing/JMenu/6538132/6538132.java 8197552 windows-all
|
||||
javax/swing/JMenu/8072900/WrongSelectionOnMouseOver.java nobug windows-all,linux-all
|
||||
javax/swing/JMenuItem/6209975/bug6209975.java JBR-4894 windows-all
|
||||
@@ -62,12 +60,13 @@ javax/swing/JTree/DnD/LastNodeLowerHalfDrop.java 8159131 linux-all,windows-all
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/PerPixelTranslucentSwing.java 8194128 macosx-all,windows-all
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/SetShapeAndClickSwing.java 8013450 macosx-all,windows-all
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/ShapedPerPixelTranslucentGradient.java 8233582,nobug linux-all,windows-all
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/ShapedTranslucentPerPixelTranslucentGradient.java nobug windows-all
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/ShapedTranslucentPerPixelTranslucentGradient.java 8233582,nobug linux-all,windows-all
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java 8024627 macosx-all,windows-all
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentWindowClickSwing.java nobug windows-all
|
||||
javax/swing/plaf/nimbus/8057791/bug8057791.java nobug windows-all
|
||||
javax/swing/plaf/nimbus/TestNimbusOverride.java nobug linux-all,windows-all
|
||||
javax/swing/plaf/windows/6921687/bug6921687.java nobug windows-all
|
||||
javax/swing/ProgressMonitor/ProgressMonitorEscapeKeyPress.java nobug windows-all
|
||||
javax/swing/text/CSSBorder/6796710/bug6796710.java nobug windows-all
|
||||
javax/swing/text/DefaultCaret/HidingSelection/HidingSelectionTest.java 8194048 windows-all,linux-all nobug: linux, 8194048 windows
|
||||
javax/swing/text/html/HTMLEditorKit/5043626/bug5043626.java nobug windows-all
|
||||
|
||||
Reference in New Issue
Block a user