Bug 921164

Summary: dead_belowdot is ignored
Product: [Fedora] Fedora Reporter: th.schoel
Component: ibus-qtAssignee: fujiwara <tfujiwar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 18CC: i18n-bugs, shawn.p.huang, tfujiwar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-04-01 22:29:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description th.schoel 2013-03-13 15:24:54 UTC
Description of problem:
Using IBus I can input all kinds of dead characters. Only (as far as my testing goes) on dead_belowdot it fails.

Version-Release number of selected component (if applicable):
1.5.1-2.fc18

How reproducible:
Type some text using IBus

Steps to Reproduce:
1. Select a keyboard layout that has dead_belowdot (e.g. de)
2. Press key for dead_belowdot (e.g. level3 of j for de, i.e. <Right Alt>+j)
3. Type a letter dead_belowdot can potentially combine with (e.g. t, d, s, etc.)
  
Actual results:
The plain letter from step 3 is produced without a dot below (e.g. tds)

Expected results:
The letter from step 3 is produced combined with a dot below (e.g. ṭḍṣ)

Additional info:
As indicated above all other dead key I tested did produce the expected results (e.g. ṫáàâãāâçųüůűûǔŭ). Also, dead_belowdot does work in plain GTK.

Comment 1 fujiwara 2013-03-14 09:42:52 UTC
I cannot reproduce your problem.
Did you try gnome-terminal?
Which desktop do you use?

Comment 2 th.schoel 2013-03-14 14:31:59 UTC
Sorry for that mistake, I had found the problem a while ago while traveling and seemed to remember that it also occured in GTK when ibus-daemon was loaded. Yet, I cannot reproduce it *in GTK* now either. Only QT applications exhibit the behaviour described above (ibus-qt is installed and set as the default input method for qt). That seems to suggest that it is a bug in ibus-qt rather than ibus.

Comment 3 fujiwara 2013-03-15 11:28:28 UTC
--- ibus-qt-1.3.1-Source/qtim/ibus-input-context.cpp.orig
+++ ibus-qt-1.3.1-Source/qtim/ibus-input-context.cpp
@@ -237,7 +250,15 @@ translate_x_key_event (XEvent *xevent, u
 
     char key_str[64];
     if (XLookupString (&xevent->xkey, key_str, sizeof (key_str), (KeySym *)keyval, 0) <= 0) {
-        *keyval = (quint32) XLookupKeysym (&xevent->xkey, 0);
+        unsigned int new_mods;
+
+        if (!XkbLookupKeySym (xevent->xkey.display,
+                              *keycode,
+                              *state,
+                              &new_mods,
+                              (KeySym *)keyval)) {
+            *keyval = (quint32) XLookupKeysym (&xevent->xkey, 0);
+        }
     }
 
     return true;

It does not clarify me if XLookupString returns 0 but get the right keysym.
However since XLookupString calls XkbLookupKeySym internally, it would be good to check XkbLookupKeySym before XLookupKeysym to fix this problem.

Comment 4 Fedora Update System 2013-03-21 10:12:08 UTC
ibus-qt-1.3.2-2.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/ibus-qt-1.3.2-2.fc18

Comment 5 Fedora Update System 2013-03-21 10:12:30 UTC
ibus-qt-1.3.2-2.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/ibus-qt-1.3.2-2.fc17

Comment 6 Fedora Update System 2013-03-22 00:37:21 UTC
Package ibus-qt-1.3.2-2.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing ibus-qt-1.3.2-2.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-4195/ibus-qt-1.3.2-2.fc17
then log in and leave karma (feedback).

Comment 7 Fedora Update System 2013-04-01 22:29:17 UTC
ibus-qt-1.3.2-2.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2013-04-01 22:36:01 UTC
ibus-qt-1.3.2-2.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.