fix bug 129789

r=yokoyama, sr=kin a=asa
fix simplified chinese input method which follow the caret position to
show candidate window.


git-svn-id: svn://10.0.0.236/trunk@117244 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
ftang%netscape.com 2002-03-22 23:09:01 +00:00
parent 939447bbc3
commit 83dbe5159f

View File

@ -5110,6 +5110,8 @@ NS_METHOD nsWindow::SetPreferredSize(PRInt32 aWidth, PRInt32 aHeight)
return NS_OK;
}
#define ZH_CN_INTELLEGENT_ABC_IME ((HKL)0xe0040804L)
void
nsWindow::HandleTextEvent(HIMC hIMEContext,PRBool aCheckAttr)
{
@ -5189,6 +5191,15 @@ nsWindow::HandleTextEvent(HIMC hIMEContext,PRBool aCheckAttr)
event.theReply.mCursorPosition.height;
NS_IMM_SETCANDIDATEWINDOW(hIMEContext,&candForm);
// somehow the "Intellegent ABC IME" in Simplified Chinese
// window listen to the caret position to decide where to put the
// candidate window
if(gKeyboardLayout == ZH_CN_INTELLEGENT_ABC_IME)
{
CreateCaret(mWnd, nsnull, 1, 1);
SetCaretPos( candForm.ptCurrentPos.x, candForm.ptCurrentPos.y);
DestroyCaret();
}
} else {
// for some reason we don't know yet, theReply may contains invalid result
// need more debugging in nsCaret to find out the reason