8076455: IME Composition Window is displayed on incorrect position
Reviewed-by: serb, azvegint
This commit is contained in:
parent
2c3844609c
commit
82a710eb0f
@ -3742,12 +3742,14 @@ void AwtComponent::SetCompositionWindow(RECT& r)
|
||||
void AwtComponent::OpenCandidateWindow(int x, int y)
|
||||
{
|
||||
UINT bits = 1;
|
||||
RECT rc;
|
||||
GetWindowRect(GetHWnd(), &rc);
|
||||
POINT p = {0, 0}; // upper left corner of the client area
|
||||
HWND hWnd = GetHWnd();
|
||||
HWND hTop = GetTopLevelParentForWindow(hWnd);
|
||||
::ClientToScreen(hTop, &p);
|
||||
|
||||
for (int iCandType=0; iCandType<32; iCandType++, bits<<=1) {
|
||||
if ( m_bitsCandType & bits )
|
||||
SetCandidateWindow(iCandType, x-rc.left, y-rc.top);
|
||||
SetCandidateWindow(iCandType, x - p.x, y - p.y);
|
||||
}
|
||||
if (m_bitsCandType != 0) {
|
||||
// REMIND: is there any chance GetProxyFocusOwner() returns NULL here?
|
||||
|
Loading…
Reference in New Issue
Block a user