Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
0484b9e8
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看板
提交
0484b9e8
编写于
3月 05, 2013
作者:
B
bae
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7152608: [macosx] Crash in liblwawt.dylib in AccelGlyphCache_RemoveCellInfo
Reviewed-by: jgodinez, ant
上级
f996d2b2
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
28 addition
and
2 deletion
+28
-2
src/macosx/classes/sun/font/CStrike.java
src/macosx/classes/sun/font/CStrike.java
+8
-2
src/macosx/classes/sun/font/CStrikeDisposer.java
src/macosx/classes/sun/font/CStrikeDisposer.java
+2
-0
src/macosx/native/sun/font/AWTStrike.m
src/macosx/native/sun/font/AWTStrike.m
+18
-0
未找到文件。
src/macosx/classes/sun/font/CStrike.java
浏览文件 @
0484b9e8
...
...
@@ -500,7 +500,10 @@ public class CStrike extends FontStrike {
final
Iterator
<
Long
>
i
=
generalCache
.
values
().
iterator
();
while
(
i
.
hasNext
())
{
final
long
longValue
=
i
.
next
().
longValue
();
if
(
longValue
!=
-
1
&&
longValue
!=
0
)
StrikeCache
.
freeLongPointer
(
longValue
);
if
(
longValue
!=
-
1
&&
longValue
!=
0
)
{
removeGlyphInfoFromCache
(
longValue
);
StrikeCache
.
freeLongPointer
(
longValue
);
}
}
}
...
...
@@ -512,7 +515,10 @@ public class CStrike extends FontStrike {
private
static
void
disposeLongArray
(
final
long
[]
longArray
)
{
for
(
int
i
=
0
;
i
<
longArray
.
length
;
i
++)
{
final
long
ptr
=
longArray
[
i
];
if
(
ptr
!=
0
&&
ptr
!=
-
1
)
StrikeCache
.
freeLongPointer
(
ptr
);
// free's the native struct pointer
if
(
ptr
!=
0
&&
ptr
!=
-
1
)
{
removeGlyphInfoFromCache
(
ptr
);
StrikeCache
.
freeLongPointer
(
ptr
);
// free's the native struct pointer
}
}
}
...
...
src/macosx/classes/sun/font/CStrikeDisposer.java
浏览文件 @
0484b9e8
...
...
@@ -85,4 +85,6 @@ class CStrikeDisposer extends FontStrikeDisposer {
}
private
native
void
freeNativeScalerContext
(
long
pContext
);
protected
static
native
void
removeGlyphInfoFromCache
(
long
glyphInfo
);
}
src/macosx/native/sun/font/AWTStrike.m
浏览文件 @
0484b9e8
...
...
@@ -27,11 +27,13 @@
#import "java_awt_geom_PathIterator.h"
#import "sun_awt_SunHints.h"
#import "sun_font_CStrike.h"
#import "sun_font_CStrikeDisposer.h"
#import "CGGlyphImages.h"
#import "CGGlyphOutlines.h"
#import "AWTStrike.h"
#import "CoreTextSupport.h"
//#import "jni_util.h"
#include "fontscalerdefs.h"
/* Use THIS_FILE when it is available. */
#ifndef THIS_FILE
...
...
@@ -423,3 +425,19 @@ JNF_COCOA_EXIT(env);
return
metrics
;
}
extern
void
AccelGlyphCache_RemoveAllInfos
(
GlyphInfo
*
glyph
);
/*
* Class: sun_font_CStrikeDisposer
* Method: removeGlyphInfoFromCache
* Signature: (J)V
*/
JNIEXPORT
void
JNICALL
Java_sun_font_CStrikeDisposer_removeGlyphInfoFromCache
(
JNIEnv
*
env
,
jclass
cls
,
jlong
glyphInfo
)
{
JNF_COCOA_ENTER
(
env
);
AccelGlyphCache_RemoveAllCellInfos
((
GlyphInfo
*
)
jlong_to_ptr
(
glyphInfo
));
JNF_COCOA_EXIT
(
env
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录