Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
408c7436
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看板
提交
408c7436
编写于
12月 04, 2009
作者:
A
ant
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6903354: deadlock involving Component.show & SunToolkit.getImageFromHash
Reviewed-by: art, bae
上级
865d4426
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
21 addition
and
17 deletion
+21
-17
src/share/classes/sun/awt/SunToolkit.java
src/share/classes/sun/awt/SunToolkit.java
+21
-17
未找到文件。
src/share/classes/sun/awt/SunToolkit.java
浏览文件 @
408c7436
...
...
@@ -800,9 +800,9 @@ public abstract class SunToolkit extends Toolkit
}
static
SoftCache
imgCache
=
new
SoftCache
();
static
final
SoftCache
imgCache
=
new
SoftCache
();
static
synchronized
Image
getImageFromHash
(
Toolkit
tk
,
URL
url
)
{
static
Image
getImageFromHash
(
Toolkit
tk
,
URL
url
)
{
SecurityManager
sm
=
System
.
getSecurityManager
();
if
(
sm
!=
null
)
{
try
{
...
...
@@ -830,32 +830,36 @@ public abstract class SunToolkit extends Toolkit
sm
.
checkConnect
(
url
.
getHost
(),
url
.
getPort
());
}
}
Image
img
=
(
Image
)
imgCache
.
get
(
url
);
if
(
img
==
null
)
{
try
{
img
=
tk
.
createImage
(
new
URLImageSource
(
url
));
imgCache
.
put
(
url
,
img
);
}
catch
(
Exception
e
)
{
synchronized
(
imgCache
)
{
Image
img
=
(
Image
)
imgCache
.
get
(
url
);
if
(
img
==
null
)
{
try
{
img
=
tk
.
createImage
(
new
URLImageSource
(
url
));
imgCache
.
put
(
url
,
img
);
}
catch
(
Exception
e
)
{
}
}
return
img
;
}
return
img
;
}
static
synchronized
Image
getImageFromHash
(
Toolkit
tk
,
static
Image
getImageFromHash
(
Toolkit
tk
,
String
filename
)
{
SecurityManager
security
=
System
.
getSecurityManager
();
if
(
security
!=
null
)
{
security
.
checkRead
(
filename
);
}
Image
img
=
(
Image
)
imgCache
.
get
(
filename
);
if
(
img
==
null
)
{
try
{
img
=
tk
.
createImage
(
new
FileImageSource
(
filename
));
imgCache
.
put
(
filename
,
img
);
}
catch
(
Exception
e
)
{
synchronized
(
imgCache
)
{
Image
img
=
(
Image
)
imgCache
.
get
(
filename
);
if
(
img
==
null
)
{
try
{
img
=
tk
.
createImage
(
new
FileImageSource
(
filename
));
imgCache
.
put
(
filename
,
img
);
}
catch
(
Exception
e
)
{
}
}
return
img
;
}
return
img
;
}
public
Image
getImage
(
String
filename
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录