Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
0d0b24f7
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看板
提交
0d0b24f7
编写于
4月 03, 2013
作者:
M
mcherkas
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8010925: COPY AND PASTE TO AND FROM SIGNED APPLET FAILS AFTER FIRST INTERNAL COPY PRFRMD
Reviewed-by: anthony, serb
上级
a5f2d9d1
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
38 addition
and
5 deletion
+38
-5
src/macosx/classes/sun/lwawt/macosx/CClipboard.java
src/macosx/classes/sun/lwawt/macosx/CClipboard.java
+8
-0
src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java
src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java
+8
-0
src/macosx/native/sun/awt/CClipboard.m
src/macosx/native/sun/awt/CClipboard.m
+22
-5
未找到文件。
src/macosx/classes/sun/lwawt/macosx/CClipboard.java
浏览文件 @
0d0b24f7
...
@@ -110,4 +110,12 @@ public class CClipboard extends SunClipboard {
...
@@ -110,4 +110,12 @@ public class CClipboard extends SunClipboard {
public
native
void
declareTypes
(
long
[]
formats
,
SunClipboard
newOwner
);
public
native
void
declareTypes
(
long
[]
formats
,
SunClipboard
newOwner
);
public
native
void
setData
(
byte
[]
data
,
long
format
);
public
native
void
setData
(
byte
[]
data
,
long
format
);
/**
* Invokes native check whether a change count on the general pasteboard is different
* than when we set it. The different count value means the current owner lost
* pasteboard ownership and someone else put data on the clipboard.
* @since 1.7
*/
public
native
void
checkPasteboard
();
}
}
src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java
浏览文件 @
0d0b24f7
...
@@ -112,6 +112,14 @@ public class CEmbeddedFrame extends EmbeddedFrame {
...
@@ -112,6 +112,14 @@ public class CEmbeddedFrame extends EmbeddedFrame {
public
void
handleFocusEvent
(
boolean
focused
)
{
public
void
handleFocusEvent
(
boolean
focused
)
{
this
.
focused
=
focused
;
this
.
focused
=
focused
;
if
(
focused
)
{
// see bug 8010925
// we can't put this to handleWindowFocusEvent because
// it won't be invoced if focuse is moved to a html element
// on the same page.
CClipboard
clipboard
=
(
CClipboard
)
Toolkit
.
getDefaultToolkit
().
getSystemClipboard
();
clipboard
.
checkPasteboard
();
}
if
(
parentWindowActive
)
{
if
(
parentWindowActive
)
{
responder
.
handleWindowFocusEvent
(
focused
,
null
);
responder
.
handleWindowFocusEvent
(
focused
,
null
);
}
}
...
...
src/macosx/native/sun/awt/CClipboard.m
浏览文件 @
0d0b24f7
...
@@ -189,18 +189,18 @@ static CClipboard *sClipboard = nil;
...
@@ -189,18 +189,18 @@ static CClipboard *sClipboard = nil;
-
(
void
)
checkPasteboard
:(
id
)
application
{
-
(
void
)
checkPasteboard
:(
id
)
application
{
AWT_ASSERT_APPKIT_THREAD
;
AWT_ASSERT_APPKIT_THREAD
;
//NSLog(@"CClipboard checkPasteboard oldCount %d newCount %d newTypes %@", fChangeCount, [[NSPasteboard generalPasteboard] changeCount], [[NSPasteboard generalPasteboard] types]);
//NSLog(@"CClipboard checkPasteboard oldCount %d newCount %d newTypes %@", fChangeCount, [[NSPasteboard generalPasteboard] changeCount], [[NSPasteboard generalPasteboard] types]);
// This is called via NSApplicationDidBecomeActiveNotification.
// This is called via NSApplicationDidBecomeActiveNotification.
// If the change count on the general pasteboard is different than when we set it
// If the change count on the general pasteboard is different than when we set it
// someone else put data on the clipboard. That means the current owner lost ownership.
// someone else put data on the clipboard. That means the current owner lost ownership.
NSInteger
newChangeCount
=
[[
NSPasteboard
generalPasteboard
]
changeCount
];
NSInteger
newChangeCount
=
[[
NSPasteboard
generalPasteboard
]
changeCount
];
if
(
fChangeCount
!=
newChangeCount
)
{
if
(
fChangeCount
!=
newChangeCount
)
{
fChangeCount
=
newChangeCount
;
fChangeCount
=
newChangeCount
;
[
self
pasteboardChangedOwner
:[
NSPasteboard
generalPasteboard
]];
[
self
pasteboardChangedOwner
:[
NSPasteboard
generalPasteboard
]];
}
}
}
}
...
@@ -371,4 +371,21 @@ JNF_COCOA_EXIT(env);
...
@@ -371,4 +371,21 @@ JNF_COCOA_EXIT(env);
return
returnValue
;
return
returnValue
;
}
}
/*
* Class: sun_lwawt_macosx_CClipboard
* Method: checkPasteboard
* Signature: ()V
*/
JNIEXPORT
void
JNICALL
Java_sun_lwawt_macosx_CClipboard_checkPasteboard
(
JNIEnv
*
env
,
jobject
inObject
)
{
JNF_COCOA_ENTER
(
env
);
[
ThreadUtilities
performOnMainThreadWaiting
:
YES
block
:
^
(){
[[
CClipboard
sharedClipboard
]
checkPasteboard
:
nil
];
}];
JNF_COCOA_EXIT
(
env
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录