Closed
Bug 53025
Opened 24 years ago
Closed 23 years ago
[IME] preedit string remains on focus change
Categories
(Core :: Internationalization, defect, P3)
Tracking
()
VERIFIED
FIXED
mozilla1.0
People
(Reporter: tee, Assigned: masaki.katakai)
References
()
Details
(Keywords: inputmethod, intl, Whiteboard: ??????)
1.Use IME which supports on-the-spot-style. 2.Open a page with many textfields. (for example this bugzilla page.) 3.Enable IME and type something. 4.Change input focus before commit the text. -> then the preedit string ramains in previous textfield. BUILD is 2000091721 Turbo Linux 6.0 kinput2 v3.0 I also saw this bug in recent windows build.
Comment 1•24 years ago
|
||
IQA please test if this is reproducible.
Comment 2•24 years ago
|
||
Reassign to tajima san. IQA, is this reproducible?
Assignee: nhotta → tajima
Comment 3•24 years ago
|
||
Can anyone confirm this?
Confirmed the problem with 2000110616-mn6 build.
Comment 6•23 years ago
|
||
Ftang - Please triage, and determine target milestone. Yuying - How important is this for you, as an IME customer.
Comment 7•23 years ago
|
||
I can reproduce this on both Linux and Mac on 04-25 trunk build. For my point of view, it is bad but not show-stopper. I had another bug 77632 is talking about similar issue on Windows, I think we should fix that one first?
Comment 8•23 years ago
|
||
It's existing on WinME-Ja too.
Reporter | ||
Comment 10•23 years ago
|
||
I think editor/base/nsTextEditorFocusLister::Blur() needs to call nsIEditorIMESupport::ForceCompositionEnd(). + nsCOMPtr<nsIEditorIMESupport> imeEditor = do_QueryInterface(mEditor); + if (imeEditor) mEditor->ForceCompositionEnd(); But this does not fix the problem, because ForceCompositionEnd() does not remove preedit strings. This can cause other bug. For exapmple, we can save a document with preedit string by HTML editor.
Assignee | ||
Comment 12•23 years ago
|
||
Tabata-san is correct. Editor should call ForceCompositionEnd() before the input focus is moved to other. IME has to know the input focus is leaving. IME in each platform (gtk/, windows/, mac/) should handle this event properly in ResetInputState(). I undersand deleting existing preedit should be handled by IME in the method. ResetInputState() should do, - Reset (Delete) preedit if exists - commit existing preedit if exists - call NS_COMPOSITION_END to close the composition On Linux, only adding the codes into Editor can solve 90% of this problem. Some code changes will be needed around ResetInputState(). I'll ask Editor folks whether the changes in Editor module is corret. Then, I'll file separate bug for each platform toolkit. I'll take Linux part. Any suggestion?
Assignee | ||
Comment 14•23 years ago
|
||
filed linux (gtk) problem separately in bug 81360 and assigned to myself.
Depends on: 81360
Assignee | ||
Comment 15•23 years ago
|
||
I've filed separate bug 81364 and bug 81365 for Windows and Mac. Can anyone try the patch in bug 81356 on your platform? If it works and the editor bug is fixed, you can mark them as WORKSFORME. I've checked on gtk and found some problems.
Assignee | ||
Updated•23 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Updated•23 years ago
|
Target Milestone: --- → mozilla0.9.2
Assignee | ||
Comment 16•23 years ago
|
||
Editor side (bug 81356) is OK, patch is ready. But gtk has a problem as bug 81360.
Assignee | ||
Updated•23 years ago
|
Target Milestone: mozilla0.9.2 → mozilla0.9.3
Assignee | ||
Updated•23 years ago
|
Target Milestone: mozilla0.9.3 → mozilla1.0
Assignee | ||
Comment 17•23 years ago
|
||
Editor side (bug 81356) has been checked in. I've verified the fix on Windows and Linux on 1118 nightlies.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Comment 18•23 years ago
|
||
I tried it on 11-19 trunk build / RH7.1-Ja: 1. Open a page that have textfields - e.g. this bug report page. 2. Enable IME and type some "kana" in a text field- don't commit it yet. 3. Move the mouse cursor to another text field. Result: The string in step 2 has gone. Do we expect that string get commit by doing the above steps?
Assignee | ||
Comment 19•23 years ago
|
||
Hi Yuying, I think you're using canna (default) and I belive this is correct behavior because canna does not return committed string by XmbResetIC(). Some IMEs don't have this feature and there is no way to get committed string. I think wnn has this feature.
Comment 20•23 years ago
|
||
Thanks, Katakai-san! Yes, I was using canna. But I still have a question here: If I turn on kinput2 before launch netscape ( got a warning mes_id=207: message not found), then following the steps as before, e.g. if I typed "kann" will display as "かんn" - very strenge, a extra "n" at the end, the string is no hightlighted, and if I press space key, no candidate window pops-up, I can not delete it neither with this stage. Is this a seperate problem?
Comment 21•23 years ago
|
||
I can reproduce the same problem with 2001112508/Win98.
Assignee | ||
Comment 22•23 years ago
|
||
Koike-san, can you file new separate bug ?
Comment 23•23 years ago
|
||
Bug 115848 has been filed against the last problem. Mark this one as verified.
Status: RESOLVED → VERIFIED
Updated•14 years ago
|
Keywords: inputmethod
You need to log in
before you can comment on or make changes to this bug.
Description
•