Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
a73c6a39
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看板
提交
a73c6a39
编写于
11月 09, 2017
作者:
S
ssreedharan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8183504: 8u131 Win 10, issue with wrong position of Sogou IME popup
Reviewed-by: psadhukhan
上级
6d06137a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
27 addition
and
19 deletion
+27
-19
src/windows/native/sun/windows/awt_Component.cpp
src/windows/native/sun/windows/awt_Component.cpp
+27
-19
未找到文件。
src/windows/native/sun/windows/awt_Component.cpp
浏览文件 @
a73c6a39
...
...
@@ -3849,25 +3849,36 @@ void AwtComponent::OpenCandidateWindow(int x, int y)
if
(
m_bitsCandType
&
bits
)
SetCandidateWindow
(
iCandType
,
x
-
p
.
x
,
y
-
p
.
y
);
}
if
(
m_bitsCandType
!=
0
)
{
// REMIND: is there any chance GetProxyFocusOwner() returns NULL here?
::
DefWindowProc
(
ImmGetHWnd
(),
WM_IME_NOTIFY
,
IMN_OPENCANDIDATE
,
m_bitsCandType
);
}
}
void
AwtComponent
::
SetCandidateWindow
(
int
iCandType
,
int
x
,
int
y
)
{
HWND
hwnd
=
ImmGetHWnd
();
HIMC
hIMC
=
ImmGetContext
(
hwnd
);
CANDIDATEFORM
cf
;
cf
.
dwIndex
=
iCandType
;
cf
.
dwStyle
=
CFS_POINT
;
cf
.
ptCurrentPos
.
x
=
x
;
cf
.
ptCurrentPos
.
y
=
y
;
ImmSetCandidateWindow
(
hIMC
,
&
cf
);
ImmReleaseContext
(
hwnd
,
hIMC
);
if
(
hIMC
)
{
CANDIDATEFORM
cf
;
cf
.
dwStyle
=
CFS_POINT
;
ImmGetCandidateWindow
(
hIMC
,
0
,
&
cf
);
if
(
x
!=
cf
.
ptCurrentPos
.
x
||
y
!=
cf
.
ptCurrentPos
.
y
)
{
cf
.
dwIndex
=
iCandType
;
cf
.
dwStyle
=
CFS_POINT
;
cf
.
ptCurrentPos
.
x
=
x
;
cf
.
ptCurrentPos
.
y
=
y
;
cf
.
rcArea
.
left
=
cf
.
rcArea
.
top
=
cf
.
rcArea
.
right
=
cf
.
rcArea
.
bottom
=
0
;
ImmSetCandidateWindow
(
hIMC
,
&
cf
);
}
COMPOSITIONFORM
cfr
;
cfr
.
dwStyle
=
CFS_POINT
;
ImmGetCompositionWindow
(
hIMC
,
&
cfr
);
if
(
x
!=
cfr
.
ptCurrentPos
.
x
||
y
!=
cfr
.
ptCurrentPos
.
y
)
{
cfr
.
dwStyle
=
CFS_POINT
;
cfr
.
ptCurrentPos
.
x
=
x
;
cfr
.
ptCurrentPos
.
y
=
y
;
cfr
.
rcArea
.
left
=
cfr
.
rcArea
.
top
=
cfr
.
rcArea
.
right
=
cfr
.
rcArea
.
bottom
=
0
;
ImmSetCompositionWindow
(
hIMC
,
&
cfr
);
}
ImmReleaseContext
(
hwnd
,
hIMC
);
}
}
MsgRouting
AwtComponent
::
WmImeSetContext
(
BOOL
fSet
,
LPARAM
*
lplParam
)
...
...
@@ -3895,17 +3906,14 @@ MsgRouting AwtComponent::WmImeSetContext(BOOL fSet, LPARAM *lplParam)
MsgRouting
AwtComponent
::
WmImeNotify
(
WPARAM
subMsg
,
LPARAM
bitsCandType
)
{
if
(
!
m_useNativeCompWindow
)
{
if
(
subMsg
==
IMN_OPENCANDIDATE
)
{
if
(
subMsg
==
IMN_OPENCANDIDATE
||
subMsg
==
IMN_CHANGECANDIDATE
)
{
m_bitsCandType
=
bitsCandType
;
InquireCandidatePosition
();
}
else
if
(
subMsg
==
IMN_OPENSTATUSWINDOW
||
subMsg
==
WM_IME_STARTCOMPOSITION
)
{
m_bitsCandType
=
0
;
InquireCandidatePosition
();
}
else
if
(
subMsg
==
IMN_SETCANDIDATEPOS
)
{
subMsg
==
WM_IME_STARTCOMPOSITION
||
subMsg
==
IMN_SETCANDIDATEPOS
)
{
InquireCandidatePosition
();
}
return
mrConsume
;
}
return
mrDoDefault
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录