After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 309166 - incorrect cusor movement and delete for indic charcters in evolution calendar
incorrect cusor movement and delete for indic charcters in evolution calendar
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Calendar
2.6.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: Srinivasa Ragavan
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2005-06-28 04:52 UTC by Lawrence Lim
Modified: 2013-09-13 00:49 UTC
See Also:
GNOME target: ---
GNOME version: 2.9/2.10


Attachments
Patch for the bug (5.32 KB, patch)
2006-08-04 14:09 UTC, makuchaku (Mayank)
none Details | Review
Updated patch (5.46 KB, patch)
2006-08-04 15:39 UTC, makuchaku (Mayank)
none Details | Review
patch with corrected bugs from previous patch. (6.22 KB, patch)
2006-08-07 10:30 UTC, makuchaku (Mayank)
none Details | Review
Latest patch, delete problem fixed. (9.05 KB, patch)
2006-12-20 10:09 UTC, makuchaku (Mayank)
committed Details | Review

Description Lawrence Lim 2005-06-28 04:52:16 UTC
Description of problem:
While inputting indic languages in the evolution calendar, composite glyphs and
ligatures are considered as independent glyphs during cursor navigation. For
example, while moving the cursor left to right on a single glyph composed from 4
unicode characters, the cursor has to be moved 4 times, instead of once.
Similarly, deletion happens one unicode character at a time, instead of deleting
the full glyph. This behaviour is inconsistent with the rest of the gnome desktop
(compare to gedit).

Steps to Reproduce:
1.in g-t, LANG=pa_IN.UTF-8 evolution
2.select Calendar
3.click on any of the time slot
4.press a, backspace
5.ctrl-space
6.ugkg
7.move cursor from the right to left using the arrow keys

Actual results:
takes two keypress to move across one composed character and two Delete keys to
remove one composed character

Expected results:
the cursor movement and Delete should be similar to Gtk+, one key press to move
across a single composed character and one key press (Delete) to remove a
composed character.
Comment 1 makuchaku (Mayank) 2006-08-04 14:09:24 UTC
Created attachment 70200 [details] [review]
Patch for the bug

patch for the bug
Comment 2 makuchaku (Mayank) 2006-08-04 14:20:12 UTC
This is what basically what the patch does...

- Get a list of PangoLogAttrs for the text associated with text widget
- Move forward/backward as necessary (as per key press)
- If new position has log_attr.is_cursor_position set, its the right position to
display the cursor, hence return its position. Else, goto previous step.


Comment 3 makuchaku (Mayank) 2006-08-04 15:39:57 UTC
Created attachment 70203 [details] [review]
Updated patch

Updated patch for more robust error handling & code abstraction.
Moved duplicate code into a function.
Comment 4 makuchaku 2006-08-07 07:03:34 UTC
Upstream bug... https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161885
Comment 5 makuchaku 2006-08-07 07:04:38 UTC
Oops, downstream that is!
Comment 6 makuchaku (Mayank) 2006-08-07 10:30:32 UTC
Created attachment 70368 [details] [review]
patch with corrected bugs from previous patch.
Comment 7 makuchaku (Mayank) 2006-08-07 10:31:24 UTC
Harish, can you please change the component to evolution from eds?
Thanks,
Makuchaku
Comment 8 Harish Krishnaswamy 2006-08-07 11:17:44 UTC
done.
Comment 9 makuchaku (Mayank) 2006-08-07 11:52:37 UTC
Thanks :)
Comment 10 makuchaku (Mayank) 2006-12-20 10:08:33 UTC
For patch in Comment 6 - Click a time slot input 'ugkg' by Punjabi Inscript, then click 'Backspace',it takes ONE Backspace key to remove one composed character. (not same as gedit)
Comment 11 makuchaku (Mayank) 2006-12-20 10:09:12 UTC
Created attachment 78673 [details] [review]
Latest patch, delete problem fixed.
Comment 12 Matthew Barnes 2007-08-23 21:14:32 UTC
Problem reproduced and solution verified.  Red Hat shipped the patch in RHEL5, which means our QA team has also tested it.  That's good enough for me.

Committed to trunk (revision 34083).