Bug 197556 - pre-edit buffer for chewing is not reset after deactivation
Summary: pre-edit buffer for chewing is not reset after deactivation
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: scim-chewing
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Caius Chance
QA Contact:
URL:
Whiteboard:
: 198729 199080 199352 (view as bug list)
Depends On:
Blocks: FC6Target SCIM
TreeView+ depends on / blocked
 
Reported: 2006-07-04 02:24 UTC by Lawrence Lim
Modified: 2014-03-26 00:53 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-09-29 06:18:41 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
SCIM Chewing Backtrace (2.26 KB, text/plain)
2006-08-25 00:45 UTC, Tim Mayberry
no flags Details
proposed patch (419 bytes, patch)
2006-09-01 05:52 UTC, Caius Chance
no flags Details | Diff

Description Lawrence Lim 2006-07-04 02:24:05 UTC
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:

Comment 1 Jens Petersen 2006-07-04 04:39:56 UTC
This report is for scim-pinyin?

Comment 2 Lawrence Lim 2006-07-04 04:52:07 UTC
No, its for the scim-chewing, I was trying out the Han Yu Pin Yin keyboard
layout earlier with chewing for romanised input.

Comment 3 Lawrence Lim 2006-07-04 04:54:09 UTC
My bad, I have entered scim-pinyin in the steps to reproduced when it was
supposed to be scim-chewing.

Comment 4 Caius Chance 2006-07-10 23:35:04 UTC
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:

Comment 5 Jens Petersen 2006-07-28 03:32:55 UTC
*** Bug 199080 has been marked as a duplicate of this bug. ***

Comment 6 Jens Petersen 2006-07-28 03:42:24 UTC
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.

Comment 7 Leon Ho 2006-07-28 04:54:34 UTC
*** Bug 199352 has been marked as a duplicate of this bug. ***

Comment 8 Caius Chance 2006-07-31 06:18:45 UTC
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.

Comment 9 Caius Chance 2006-07-31 07:43:06 UTC
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 ?? ()


Comment 10 Tim Mayberry 2006-08-25 00:45:17 UTC
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.

Comment 11 Caius Chance 2006-08-30 02:52:44 UTC
*** Bug 198729 has been marked as a duplicate of this bug. ***

Comment 13 Leon Ho 2006-08-31 12:16:57 UTC
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?


Comment 17 Caius Chance 2006-09-01 05:52:23 UTC
Created attachment 135358 [details]
proposed patch

Reuse the following function to clear the buffer:

chewing_handle_Esc( ctx );

Comment 18 Caius Chance 2006-09-04 05:17:24 UTC
In communication with upstream.

Comment 19 Caius Chance 2006-09-04 07:16:14 UTC
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.

Comment 20 Xiaohong Wang 2006-09-29 06:18:41 UTC
Verified that it has been fixed in latest FC6:
# rpm -q scim-chewing
scim-chewing-0.3.1-6.fc6


Note You need to log in before you can comment on or make changes to this bug.