Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
75573847
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
75573847
编写于
12月 16, 2014
作者:
S
serb
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7077826: Unset and empty DISPLAY variable is handled differently by JDK
Reviewed-by: azvegint, ant
上级
da38dce6
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
47 addition
and
49 deletion
+47
-49
src/share/classes/java/awt/GraphicsEnvironment.java
src/share/classes/java/awt/GraphicsEnvironment.java
+27
-31
test/java/awt/GraphicsEnvironment/TestDetectHeadless/TestDetectHeadless.sh
...phicsEnvironment/TestDetectHeadless/TestDetectHeadless.sh
+12
-2
test/java/awt/Toolkit/BadDisplayTest/BadDisplayTest.sh
test/java/awt/Toolkit/BadDisplayTest/BadDisplayTest.sh
+8
-16
未找到文件。
src/share/classes/java/awt/GraphicsEnvironment.java
浏览文件 @
75573847
...
...
@@ -28,6 +28,7 @@ package java.awt;
import
java.awt.image.BufferedImage
;
import
java.security.AccessController
;
import
java.security.PrivilegedAction
;
import
java.util.Locale
;
import
sun.font.FontManager
;
...
...
@@ -160,43 +161,38 @@ public abstract class GraphicsEnvironment {
*/
private
static
boolean
getHeadlessProperty
()
{
if
(
headless
==
null
)
{
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedAction
<
Object
>()
{
public
Object
run
()
{
String
nm
=
System
.
getProperty
(
"java.awt.headless"
);
AccessController
.
doPrivileged
((
PrivilegedAction
<
Void
>)
()
->
{
String
nm
=
System
.
getProperty
(
"java.awt.headless"
);
if
(
nm
==
null
)
{
/* No need to ask for DISPLAY when run in a browser */
if
(
System
.
getProperty
(
"javaplugin.version"
)
!=
null
)
{
headless
=
defaultHeadless
=
Boolean
.
FALSE
;
if
(
nm
==
null
)
{
/* No need to ask for DISPLAY when run in a browser */
if
(
System
.
getProperty
(
"javaplugin.version"
)
!=
null
)
{
headless
=
defaultHeadless
=
Boolean
.
FALSE
;
}
else
{
String
osName
=
System
.
getProperty
(
"os.name"
);
if
(
osName
.
contains
(
"OS X"
)
&&
"sun.awt.HToolkit"
.
equals
(
System
.
getProperty
(
"awt.toolkit"
)))
{
headless
=
defaultHeadless
=
Boolean
.
TRUE
;
}
else
{
String
osName
=
System
.
getProperty
(
"os.name"
);
if
(
osName
.
contains
(
"OS X"
)
&&
"sun.awt.HToolkit"
.
equals
(
System
.
getProperty
(
"awt.toolkit"
)))
{
headless
=
defaultHeadless
=
Boolean
.
TRUE
;
}
else
{
headless
=
defaultHeadless
=
Boolean
.
valueOf
((
"Linux"
.
equals
(
osName
)
||
"SunOS"
.
equals
(
osName
)
||
"FreeBSD"
.
equals
(
osName
)
||
"NetBSD"
.
equals
(
osName
)
||
"OpenBSD"
.
equals
(
osName
)
||
"AIX"
.
equals
(
osName
))
&&
(
System
.
getenv
(
"DISPLAY"
)
==
null
));
}
final
String
display
=
System
.
getenv
(
"DISPLAY"
);
headless
=
defaultHeadless
=
(
"Linux"
.
equals
(
osName
)
||
"SunOS"
.
equals
(
osName
)
||
"FreeBSD"
.
equals
(
osName
)
||
"NetBSD"
.
equals
(
osName
)
||
"OpenBSD"
.
equals
(
osName
)
||
"AIX"
.
equals
(
osName
))
&&
(
display
==
null
||
display
.
trim
().
isEmpty
());
}
}
else
if
(
nm
.
equals
(
"true"
))
{
headless
=
Boolean
.
TRUE
;
}
else
{
headless
=
Boolean
.
FALSE
;
}
return
null
;
}
}
else
{
headless
=
Boolean
.
valueOf
(
nm
);
}
);
return
null
;
});
}
return
headless
.
booleanValue
()
;
return
headless
;
}
/**
...
...
test/java/awt/GraphicsEnvironment/TestDetectHeadless/TestDetectHeadless.sh
浏览文件 @
75573847
...
...
@@ -28,7 +28,7 @@
#
# @test
# @bug 8058930
# @bug 8058930
7077826
# @summary java.awt.GraphicsEnvironment.getHeadlessProperty() does not work for AIX
#
# @build TestDetectHeadless
...
...
@@ -36,11 +36,21 @@
OS
=
`
uname
-s
`
case
"
$OS
"
in
Windows
*
|
CYGWIN
*
)
Windows
*
|
CYGWIN
*
|
Darwin
)
echo
"Passed"
;
exit
0
;;
*
)
unset
DISPLAY
;;
esac
${
TESTJAVA
}
/bin/java
${
TESTVMOPTS
}
\
-cp
${
TESTCLASSES
}
TestDetectHeadless
if
[
$?
-ne
0
]
;
then
exit
1
;
fi
DISPLAY
=
export
DISPLAY
${
TESTJAVA
}
/bin/java
${
TESTVMOPTS
}
\
-cp
${
TESTCLASSES
}
TestDetectHeadless
...
...
test/java/awt/Toolkit/BadDisplayTest/BadDisplayTest.sh
浏览文件 @
75573847
# Copyright (c) 2012, 201
3
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 201
4
, 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
...
...
@@ -21,23 +21,15 @@
${
TESTJAVA
}
/bin/javac
-cp
${
TESTSRC
}
-d
.
${
TESTSRC
}
/BadDisplayTest.java
DISPLAY
=
export
DISPLAY
OS
=
`
uname
-s
`
case
"
$OS
"
in
SunOS
)
${
TESTJAVA
}
/bin/java BadDisplayTest
;;
Linux
)
${
TESTJAVA
}
/bin/java BadDisplayTest
;;
*
)
echo
"Unsupported System:
${
OS
}
"
exit
0
;
;;
Windows
*
|
CYGWIN
*
|
Darwin
)
echo
"Passed"
;
exit
0
;;
esac
exit
$?
DISPLAY
=
SomeBadDisplay
export
DISPLAY
${
TESTJAVA
}
/bin/java
${
TESTVMOPTS
}
BadDisplayTest
exit
$?
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录