Bug 197556 - pre-edit buffer for chewing is not reset after deactivation
pre-edit buffer for chewing is not reset after deactivation
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: scim-chewing (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Caius Chance
: i18n
: 198729 199080 199352 (view as bug list)
Depends On:
Blocks: FC6Target SCIM
  Show dependency treegraph
 
Reported: 2006-07-03 22:24 EDT by Lawrence Lim
Modified: 2014-03-25 20:53 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-09-29 02:18:41 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Lawrence Lim 2006-07-03 22:24:05 EDT
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 00:39:56 EDT
This report is for scim-pinyin?
Comment 2 Lawrence Lim 2006-07-04 00:52:07 EDT
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 00:54:09 EDT
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 19:35:04 EDT
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-27 23:32:55 EDT
*** Bug 199080 has been marked as a duplicate of this bug. ***
Comment 6 Jens Petersen 2006-07-27 23:42:24 EDT
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 00:54:34 EDT
*** Bug 199352 has been marked as a duplicate of this bug. ***
Comment 8 Caius Chance 2006-07-31 02:18:45 EDT
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 03:43:06 EDT
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-24 20:45:17 EDT
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-29 22:52:44 EDT
*** Bug 198729 has been marked as a duplicate of this bug. ***
Comment 13 Leon Ho 2006-08-31 08:16:57 EDT
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 01:52:23 EDT
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 01:17:24 EDT
In communication with upstream.
Comment 19 Caius Chance 2006-09-04 03:16:14 EDT
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 02:18:41 EDT
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.