Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
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


Attachments (Terms of Use)
SCIM Chewing Backtrace (deleted)
2006-08-25 00:45 UTC, Tim Mayberry
no flags Details
proposed patch (deleted)
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@debian.org.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.