Description of problem: Noticed that pre-edit buffer for chewing is not reset after deactivation. Version-Release number of selected component (if applicable): scim-chewing-0.3.1-2 How reproducible: Always Steps to Reproduce: 1.activate scim-pinyin, ctrl-SPACE 2.enter 'jingtian' 3.ctrl-SPACE (switch-off) 4.ctrl-SPACE (switch-on) Actual results: pre-edit buffer not cleared Expected results: pre-edit buffer should be cleared Additional info:
This report is for scim-pinyin?
No, its for the scim-chewing, I was trying out the Han Yu Pin Yin keyboard layout earlier with chewing for romanised input.
My bad, I have entered scim-pinyin in the steps to reproduced when it was supposed to be scim-chewing.
Description of problem: Noticed that pre-edit buffer for chewing is not reset after deactivation. Version-Release number of selected component (if applicable): scim-chewing-0.3.1-2 How reproducible: Always Steps to Reproduce: 1.activate scim-chewing, ctrl-SPACE 2.enter 'jingtian' 3.ctrl-SPACE (switch-off) 4.ctrl-SPACE (switch-on) Actual results: pre-edit buffer not cleared Expected results: pre-edit buffer should be cleared Additional info:
*** Bug 199080 has been marked as a duplicate of this bug. ***
One needs to press Space as part of step 2 I think to reproduce this. The pre-edit is reset if you enter `j i n g Space' say. The problem is that scim-chewing seems to lock scim when one tries to input phrases in one go. This happens for me both with scim-gtimm and scim-bridge.
*** Bug 199352 has been marked as a duplicate of this bug. ***
When we entered 7 or 8 alphabets, it crashed. i.e. The preedit buffer of 7 or 8 alphabets still stays behind the keyboard cursor. 1. Setup scim-chewing as mentioned above with Han Yu Pinyin Input. 2. Start gedit. 3. Input 7 or 8 alphabets without press space to trigger a character conversion. 4. The pre-edit buffers appears and stay when we switch on chewing. 5. Pre-edit buffer couldn't be cleared for input anymore. The problem persists no matter "share input method for all application" is on or off.
Possible Backtrace: #0 0xb7fca402 in __kernel_vsyscall () #1 0x0019f093 in __waitpid_nocancel () from /lib/libc.so.6 #2 0x00ce2e1c in scim::scim_launch () from /usr/lib/libscim-1.0.so.8 #3 0x0804a9a0 in ?? () #4 0x0012a214 in __libc_start_main () from /lib/libc.so.6 #5 0x080490a1 in ?? ()
Created attachment 134877 [details] SCIM Chewing Backtrace It looks pretty obvious to me what is causing the abort. I haven't been over the code much so I don't know why. I did notice one comment while debugging in the function that calls strcpy that is causing the abortion about a string supposed to be a maximum or 6 characters but the argument it was referring to was 8. Hope this helps.
*** Bug 198729 has been marked as a duplicate of this bug. ***
Lawrence, from the steps to reproduce, there is nothing mention about hanging: -- snip -- Noticed that pre-edit buffer for chewing is not reset after deactivation. 1.activate scim-chewing, ctrl-SPACE 2.enter 'jingtian' 3.ctrl-SPACE (switch-off) 4.ctrl-SPACE (switch-on) -- snip -- So is it the preedit is not clear after re-activiation, or it is hanged and it does not accept input anymore (which is the result of #199353). If it is the same problem, can you duplicate #199353 to this please?
Created attachment 135358 [details] proposed patch Reuse the following function to clear the buffer: chewing_handle_Esc( ctx );
In communication with upstream.
Patched and rebuilt, ready for QA test. ----- Back-port from upstream for the bug fix: 2006-08-15 Kanru Chen <koster.tw> * src/scim_chewing_imengine.cpp (ChewingIMEngineInstance::focus_out): Add chewing_handle_Esc() after committing to clear rest pre-edit buffer.
Verified that it has been fixed in latest FC6: # rpm -q scim-chewing scim-chewing-0.3.1-6.fc6