Closed
Bug 109736
Opened 24 years ago
Closed 24 years ago
XIM server always receive XIMPreeditUnKnown when ResetIC
Categories
(Core :: Internationalization, defect)
Tracking
()
VERIFIED
INVALID
People
(Reporter: thhsieh, Assigned: masaki.katakai)
Details
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.5) Gecko/20011023
BuildID: Mozilla 0.9.5
In the source of mozilla-0.9.5:
widget/src/gtk/nsGtkIMEHelper.cpp
function: nsIMEGtkIC::ResetIC()
When XGetICValues() is called to get the current preedit state
of the XIM server, it is stored in the variable "preedit_attr",
and then it is freed immediately:
if (!XGetICValues(mIC->xic,
XNPreeditAttributes, preedit_attr,
NULL)) {
is_preedit_state = PR_TRUE;
}
XFree(preedit_attr);
So actually the variable "preedit_state", which initially set to
the value XIMPreeditUnKnown, does not change at all at this stage.
And then it calls XSetICValues() to set the value of "preedit_state"
to the XIM server:
preedit_attr = XVaCreateNestedList(0,
XNPreeditState, preedit_state,
0);
if (is_preedit_state) {
XSetICValues(mIC->xic,
XNPreeditAttributes, preedit_attr,
NULL);
So at this step the XIM server will always receive XIMPreeditUnKnown,
the initial value of the variable: "preedit_state".
Reproducible: Sometimes
Steps to Reproduce:
1.Start the XIM server "xcin" with the debug message turned on:
xcin -v 3
2.Start mozilla, then you will see a lot of xcin messages dumpped
out.
3.Go to any text input area of mozilla (e.g., editors) and type some
characters. Then use mouse to change the location of the input
cursor. Each time you click mouse to change the cursor position,
xcin will print out the message:
DEBUG: ic_set: preedit_state = XIMPreeditUnKnown.
This is because, each time you click mouse to change the cursor
position, the nsIMEGtkIC::ResetIC function of mozilla will
be called, and it will call XSetICValues() to set the
"preedit_state". But its value is always XIMPreeditUnKnown.
Actual Results: Each time when the cursor position being changed by mouse,
xcin with debug level 3 (xcin -v 3) will print the warning
message:
DEBUG: ic_set: preedit_state = XIMPreeditUnKnown.
Expected Results: Each time when the cursor position being changed by mouse,
xcin with debug level 3 (xcin -v 3) should not print the
warning message:
DEBUG: ic_set: preedit_state = XIMPreeditUnKnown.
Note, please get the latest xcin package from the CVS:
http://xcin.linux.org.tw/download.html#cvs
otherwise xcin will not have the facility to print the debug
message as mentioned above in any case.
| Assignee | ||
Comment 1•24 years ago
|
||
I'll try to debug Mozilla tomorrow. If you can also build binary,
put debug message to check value of preedit_state and build it.
If the current codes call XSetICValues() with the correct value
and xcin gets XIMPreeditUnKnown, it means xcin has a problem around
XSetICValues().
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
| Assignee | ||
Comment 2•24 years ago
|
||
In mozilla-i18n thread, this is a bug in xcin side and Tung-Han Hsieh
has already fixed it. Will close as INVALID.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•