Bug 154360 - [PATCH] unable to commit through 'enter' in calendar
Summary: [PATCH] unable to commit through 'enter' in calendar
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: libgal2
Version: rawhide
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Dave Malcolm
QA Contact:
URL:
Whiteboard:
: 154362 (view as bug list)
Depends On: 150077
Blocks: FC4Update
TreeView+ depends on / blocked
 
Reported: 2005-04-11 05:51 UTC by Leon Ho
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version: 2.4.2-5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-09-28 08:43:21 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
initial patch to be able to commit the string with Enter. (4.18 KB, patch)
2005-05-17 17:44 UTC, Akira TAGOH
no flags Details | Diff
another patch for gal (1.37 KB, patch)
2005-05-17 17:45 UTC, Akira TAGOH
no flags Details | Diff
patch for gal, including forgot changes (2.30 KB, patch)
2005-05-18 03:15 UTC, Akira TAGOH
no flags Details | Diff
patch for evolution, including a line feed fix. (7.15 KB, patch)
2005-05-19 02:18 UTC, Akira TAGOH
no flags Details | Diff
patch for evolution, including a line feed fix. (4.60 KB, patch)
2005-05-19 02:29 UTC, Akira TAGOH
no flags Details | Diff
updated patch for evolution, also including similar fix for EWeekView (7.61 KB, patch)
2005-05-19 13:02 UTC, Akira TAGOH
no flags Details | Diff
updated patch for gal, also including API change in e-text.h (2.75 KB, patch)
2005-05-20 06:27 UTC, Akira TAGOH
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
GNOME Bugzilla 303873 0 None None None Never

Description Leon Ho 2005-04-11 05:51:39 UTC
+++ This bug was initially created as a clone of Bug #150077 +++

Description of problem:
At the moment, it is not possible to commit ja characters with Enter using CannaLE.

Version-Release number of selected component (if applicable):
evolution-2.0.2-8
evolution-data-server-1.0.2-4
iiimf-le-canna-12.1-10.EL

How reproducible:
Always

Steps to Reproduce:
1.in g-t, LANG=ja_JP.UTF-8 evolution
2.select Calendar
3.click on any of the time slot
4.press a, backspace
5.ctrl-space
6.sushi
7.enter
  
Actual results:
Blank, unable to commit the ja character

Expected results:
Able to commit the ja char

Additional info:
Only exist for ja locale. Tried zh_*/ko and other indic locales as well.

Comment 1 Leon Ho 2005-04-11 05:53:35 UTC
Sorry new version for FC4:
Version-Release number of selected component (if applicable):
  evolution-2.2.1.1-2
  evolution-data-server-1.2.1-1
  iiimf-le-canna-12.1.1-11.svn2435

It seems like evolution e-cal does not let IM to filter the enter properly.


Comment 2 Lawrence Lim 2005-04-14 08:11:24 UTC
Also determined for certain input mode in zh_TW, similar situation of not able
to commit traditional chinese characters will occur.

Take for example in Cang Jie mode of iiimf-le-xcin, it is not possible to commit
a character from the candidate window using Enter. However, it is possible to
commit the character using number as selection.

Steps to reproduce:
1.in g-t, LANG=zh_TW.UTF-8 evolution
2.select Calendar
3.click on any of the time slot
4.press a, press enter 

Actual Result:
Unable to commit the character


Another scenario which will commit the character to the time slot.
Steps to reproduce:
1.in g-t, LANG=zh_TW.UTF-8 evolution
2.select Calendar
3.click on any of the time slot
4.press a, press 1

Actual Result:
Character gets committed to the time slot.



Comment 3 Leon Ho 2005-04-15 01:57:49 UTC
It is "enter" that evo does not pass to gtk im context and it is affecting
couple of LEs. Users cannot able to input properly.

Updating the summary.

Comment 4 Akira TAGOH 2005-05-17 07:16:32 UTC
I'm now looking into this problem, this is my analysis.

Loosely the key event flow on the calendar component is (ECanvas
*)->e_canvas_key ==(as "event" event)==> (EDayView
*)->e_day_view_on_text_item_event ==> (EText *)->e_text_event. and basically
gtk_im_context_filter_keypress is called on EText widget as it handles the real
text.
When you press Enter, EDayView will changes the focus from EText to EDayView
itself forcibly to be able to stop editing by Enter. otherwise new line will be
appeared on EText, I suppose, but anyway.  However it's really a bad design
because you can't call gtk_im_context_filter_keypress with the same keyevent
because IM doesn't know if it's duplicated key event or not and IM shouldn't
mind it - this problem could be gone with checking by
gtk_im_context_filter_keypress before changing focus with GDK_Return so that
basically it should be filtered by IM. but multiple
gtk_im_context_filter_keypress calling causes the infinite key event loop
somehow. I don't know why. but I'm sure it's caused by this so that I can see
this problem on simple code with GtkEntry.

Anyway, I'd just suggest to fix this:
1. not to mind GDK_Return to stop editing, replace EText to EEntry say. I
haven't tried this, though. just guessing
2. process the keyevent on EText first anyway and make a signal or bind a key to
take care of GDK_Return.

Comment 5 Akira TAGOH 2005-05-17 17:44:24 UTC
Created attachment 114473 [details]
initial patch to be able to commit the string with Enter.

Comment 6 Akira TAGOH 2005-05-17 17:45:47 UTC
Created attachment 114474 [details]
another patch for gal

Comment 7 Akira TAGOH 2005-05-17 17:50:03 UTC
This problem should be solved by above two patches. but there is a problem I
know with these. when you edit an entry again, you will see a new line which was
made by Enter, because editing was stopped after processing something on EText.

Comment 8 Akira TAGOH 2005-05-18 03:15:10 UTC
Created attachment 114494 [details]
patch for gal, including forgot changes

just updated a patch for gal so that I forgot to include the necessary changes.

Comment 9 Akira TAGOH 2005-05-19 02:18:38 UTC
Created attachment 114547 [details]
patch for evolution, including a line feed fix.

This patch will fixes a problem I mentioned in Comment#7.

Comment 10 Akira TAGOH 2005-05-19 02:29:27 UTC
Created attachment 114548 [details]
patch for evolution, including a line feed fix.

ugh, forgot to do garbage collection of arch.

Comment 11 Akira TAGOH 2005-05-19 13:02:26 UTC
Created attachment 114564 [details]
updated patch for evolution, also including similar fix for EWeekView

Comment 12 Dave Malcolm 2005-05-19 20:38:59 UTC
Thanks for these patches.

My first thought is that attachment 114494 [details] changes the EText API/ABI:
E_TEXT_KEYPRESS signal gains a boolean return type.  Have you checked for
any/all usages of this signal?

Comment 13 Akira TAGOH 2005-05-20 06:27:17 UTC
Created attachment 114616 [details]
updated patch for gal, also including API change in e-text.h

Yes, tried to find its usages from Evolution related components which depends
on libgal2 (evolution, evolution-exchange) and the products which does/did
depend on gal (E_TEXT_KEYPRESS was available since 1.99.3) like gtkhtml3,
mysql-query-browser and gnomesword - which depended on older gal package on
Debian.
Also tried to google it, I couldn't find any of this usage.
I just wonder if this is a popular signal so that it wasn't documented.

Comment 14 Lawrence Lim 2005-05-20 08:16:15 UTC
Tested with test package with patch from Comment #13, confirm xcin and canna LE
both are able to commit characters using Enter.

Thanks.

Comment 15 Jeremy Katz 2005-05-23 23:32:38 UTC
*** Bug 154362 has been marked as a duplicate of this bug. ***

Comment 16 Leon Ho 2005-05-26 00:47:10 UTC
Dave, how is your review on this patch for FC4 final? 

Comment 17 Dave Malcolm 2005-05-26 05:56:28 UTC
I built with the two patches into dist-fc4-hold as:
libgal2-2.4.2-5
evolution-2.2.2-7

I haven't had a chance to test these properly yet, so I'm unhappy about putting
them in FC4 at the moment.  The Evolution package also contains another change
(removed static libraries that I believe were unnecessary).



Comment 18 Lawrence Lim 2005-05-26 06:51:33 UTC
Confirmed fixed with evolution-2.2.2-7 and libgal2-2.4.2-5 in dist fc4-hold.

Comment 19 Warren Togami 2005-05-29 06:37:58 UTC
The fix happened too late.  Release this as a FC4 update a little later after
evolution gains more bug fixes to make an update worthwhile.


Comment 20 Lawrence Lim 2005-06-28 01:19:22 UTC
Packages from fc4-hold did not flow through. dist-fc4 still contains the old
packages which the bug exist.

evolution-data-server-1.2.2-3
evolution-devel-2.2.2-5
evolution-connector-2.2.2-5
evolution-webcal-2.2.0-1
evolution-2.2.2-5
evolution-data-server-devel-1.2.2-3

libgal2-devel-2.4.2-4
libgal2-2.4.2-4

Comment 21 Lawrence Lim 2005-06-28 03:55:44 UTC
Tested with libgal2-2.4.2-5 from dist-fc5, confirm the bug has been fixed.

Comment 22 Lawrence Lim 2005-07-06 06:45:23 UTC
Tested with evolution-2.2.3-1.fc4 and libgal2-2.4.3-1.fc4 from
dist-fc4-updates-candidate, confirm the bug has been fixed.


Thanks.

Comment 23 Akira TAGOH 2005-09-28 08:43:21 UTC
The above packages has already pushed for updates.


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