Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
3a31ad6e
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看板
提交
3a31ad6e
编写于
3月 21, 2014
作者:
S
serb
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7124417: [macosx] failure in Window.initGC on Mac with monitor sleeping
Reviewed-by: anthony, pchelko
上级
87fd2d99
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
21 addition
and
7 deletion
+21
-7
src/macosx/native/sun/awt/CGraphicsEnv.m
src/macosx/native/sun/awt/CGraphicsEnv.m
+21
-7
未找到文件。
src/macosx/native/sun/awt/CGraphicsEnv.m
浏览文件 @
3a31ad6e
/*
*
Copyright
(
c
)
2011
,
201
3
,
Oracle
and
/
or
its
affiliates
.
All
rights
reserved
.
*
Copyright
(
c
)
2011
,
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
...
...
@@ -25,6 +25,7 @@
#import
<
JavaNativeFoundation
/
JavaNativeFoundation
.
h
>
#import
"jni_util.h"
#import
"LWCToolkit.h"
#import
"AWT_debug.h"
...
...
@@ -64,7 +65,7 @@ JNF_COCOA_ENTER(env);
/*
Get
the
count
*/
CGDisplayCount
displayCount
;
if
(
CGGet
Activ
eDisplayList
(
MAX
_
DISPLAYS
,
NULL
,
&
displayCount
)
!=
kCGErrorSuccess
)
{
if
(
CGGet
Onlin
eDisplayList
(
MAX
_
DISPLAYS
,
NULL
,
&
displayCount
)
!=
kCGErrorSuccess
)
{
[
JNFException
raise
:
env
as
:
kInternalError
reason
:
"CGGetOnlineDisplayList() failed to get display count"
]
;
...
...
@@ -73,23 +74,36 @@ JNF_COCOA_ENTER(env);
/*
Allocate
an
array
and
get
the
size
list
of
display
Ids
*/
CGDirectDisplayID
displays
[
MAX
_
DISPLAYS
]
;
if
(
CGGet
Activ
eDisplayList
(
displayCount
,
displays
,
&
displayCount
)
!=
kCGErrorSuccess
)
{
if
(
CGGet
Onlin
eDisplayList
(
displayCount
,
displays
,
&
displayCount
)
!=
kCGErrorSuccess
)
{
[
JNFException
raise
:
env
as
:
kInternalError
reason
:
"CGGetOnlineDisplayList() failed to get display list"
]
;
return
NULL
;
}
CGDisplayCount
i
;
CGDisplayCount
displayActiveCount
=
0
;
//
Active
and
sleeping
.
for
(
i
=
0
;
i
<
displayCount
;
++
i
)
{
if
(
CGDisplayMirrorsDisplay
(
displays
[
i
])
==
kCGNullDirectDisplay
)
{
++
displayActiveCount
;
}
else
{
displays
[
i
]
=
kCGNullDirectDisplay
;
}
}
/*
Allocate
a
java
array
for
display
identifiers
*/
ret
=
JNFNewIntArray
(
env
,
displayCount
)
;
ret
=
JNFNewIntArray
(
env
,
display
Active
Count
)
;
/*
Initialize
and
return
the
backing
int
array
*/
assert
(
sizeof
(
jint
)
>=
sizeof
(
CGDirectDisplayID
))
;
jint
*
elems
=
(*env)->GetIntArrayElements(env, ret, 0);
CHECK_NULL_RETURN(elems, NULL);
CGDisplayCount i;
for (i = 0; i < displayCount; i++) {
elems[i] = displays[i];
/* Filter out the mirrored displays */
for (i = 0; i < displayCount; ++i) {
if (displays[i] != kCGNullDirectDisplay) {
elems[--displayActiveCount] = displays[i];
}
}
(*env)->ReleaseIntArrayElements(env, ret, elems, 0);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录