Bug 199353 - scim-chewing hangs for commit > 6 characters
Summary: scim-chewing hangs for commit > 6 characters
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:
Depends On:
Blocks: SCIM
TreeView+ depends on / blocked
 
Reported: 2006-07-19 02:18 UTC by Lawrence Lim
Modified: 2014-03-26 00:53 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-09-29 07:46:02 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
proposed patch (922 bytes, patch)
2006-08-30 07:00 UTC, Caius Chance
no flags Details | Diff
proposed patch (1.41 KB, patch)
2006-09-05 06:31 UTC, Caius Chance
no flags Details | Diff

Description Lawrence Lim 2006-07-19 02:18:01 UTC
Description of problem:
Tested with non-shared Input mode, scim backend and PinYinKeyboard(romaised),
noticed that it is not possible to remove any characters in the preedit buffer.

Version-Release number of selected component (if applicable):
scim-chewing-0.3.1-2

How reproducible:
Always

Steps to Reproduce:
1.set up SCIM as mentioned in the desc
2.activate IME, in gedit
3.enter hongmao (redhat)
4.enter Space
5.enter BackSpace
  
Actual results:
preedit buffer move forward 1 SPACE and preedit buffer becomes uneditable

Expected results:
remove one char in the buffer

Additional info:

Comment 2 Caius Chance 2006-08-30 07:00:42 UTC
Created attachment 135189 [details]
proposed patch

this patch avoid strcpy() copying an over-length string (8 chars)to the
destination (6 chars).

the preedit buffer will be cleared if length of the input key set is longer
than 6 characters.

Comment 3 Jens Petersen 2006-08-30 09:39:46 UTC
And this is consistent with the behaviour of 0.2?

Jserv mentioned some patch was committed to svn related to this
I think but I didn't find it yet.

Comment 4 Leon Ho 2006-08-31 12:20:07 UTC
It hangs, that's why preedit is no longer editable. Changing the summary. 

Comment 6 Caius Chance 2006-09-04 05:30:13 UTC
In communication with upstream.

Comment 7 Caius Chance 2006-09-05 06:26:11 UTC
Submitted bug to upstream:

http://rt.openfoundry.org/Foundry/Project/Tracker/Display.html?Queue=271&id=23428

Comment 8 Caius Chance 2006-09-05 06:31:51 UTC
Created attachment 135528 [details]
proposed patch

Uses strncpy instead of strcpy. It just copies first 6 characters and ignores
the remaining.

Crashing avoided for stablity, but still need a better fix.

BTW, the display of preedit buffer was not getting longer than 8 character
length. On the background, preedit buffer was actually storing user inputs
(able to test by input 10 characters at a row and press backspaces 3 times).

Comment 9 Caius Chance 2006-09-06 01:16:25 UTC
Built and pending for QC.

Until upstream adopted this fix in their next release or provided a better
solution, this package should has a higher stability from crashing.

Comment 10 Xiaohong Wang 2006-09-29 06:14:10 UTC
Verified in latest FC6:
# rpm -q scim-chewing
scim-chewing-0.3.1-6.fc6

after step 3.enter hongmao (redhat), enter Space, preedit buffer get cleared,
nothing displays

Comment 11 Caius Chance 2006-09-29 07:32:04 UTC
At this stage, chewing is not able to break input into two or more words.

i.e. it will not recognise 'hongmao' as 'hong' and 'mao', it will just recognise
that as 'hongmao' which is probably no match.

All user could do at this stage is type 'hong' "space" 'mao' "space" which will
show phrase (combination of more than 1 characters) if the table consist that.

FYI, user need to press "enter" to commit after phrase found.

-----

scim-chewing doesn't not hang for commit > 6 character after the fix.

Comment 12 Xiaohong Wang 2006-09-29 07:46:02 UTC
It is the usual behavior since chewing still hasn't able to deal with cutting
'hongmao' into 'hong' and 'mao' and do matching. Verified and closed.


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