Closed Bug 218155 Opened 21 years ago Closed 17 years ago

Gtk2 XIM : Multi input context is not separated

Categories

(Core :: Widget: Gtk, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: masaru, Assigned: masaki.katakai)

References

Details

(Keywords: inputmethod)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; ja-JP; rv:1.4) Gecko/20030722
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; ja-JP; rv:1.4) Gecko/20030722

If 2 or more input context are exist in one window, there are not separated.
When input some preediting characters into a text field without commit, and
click another text field, and input the key sequence to commit of XIM, the
strings are commited into the text field which input another text field as
preedit before.

I think this behavior is not good.

Reproducible: Always

Steps to Reproduce:
1. Build Mozilla-1.4 with Gtk-2.2.3 and USE_XIM defination.
2. Execute above mozilla with XIM. (e.g. with Kinput2)
3. Open a page which has text input field.
   e.g.: http://www.google.co.jp/
4. Click text input field of page, start conversion of XIM, input some preedit
text. and don't commit it. (e.g. input "aiueo" in Japanese and don't input
"enter" key).
5. Click the location text input field of mozilla. The status of input method
will be activated (conversion on).
6. Input commit key sequence of IM (like "enter" key), the preedit strings which
we input into the text field in the page before were commited into location text
field.

Actual Results:  
The strings which we input into another text field were commited.

Expected Results:  
I think mozilla should have input context for each input text field.
-> gfx:gtk I guess
Assignee: general → blizzard
Component: Browser-General → GFX: Gtk
QA Contact: general → ian
This isn't exactly easy to fix.  Right now we have one big multicontext. 
Because it's used for typeaheadfind.

I would much rather have more than one multicontext, myself.
Blocks: gtk2
Taking.

Hanaki-san is now working on this issue.

For GTK1.2 widget, we used nsIKBStateControl:ResetInputState() to reset the
input state when input field is changed while pre-editing. We can do the
same thing in GTK2.

Hanaki-san, please attach your patch if code is ready for review.

To have multiple input context per each input field can be another solution.
Assignee: blizzard → katakai
Status: UNCONFIRMED → NEW
Ever confirmed: true
Currently, I have no idea how to fix this problem, cannot find out how
to reset input status when input focus is changed.
Need someone's help.
Does this bug still occur in a recent trunk build?
Component: GFX: Gtk → Widget: Gtk
QA Contact: ian → gtk
this should be fixed by bug 321468 (and bug 357568).

-> FIXED
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.