Gtk-2 and Compose key on Solaris 2.8



I am trying to use Gtk-2 on Sparc/Solaris 2.8 machines that have Qwerty keyboards with a Compose key (useful 
for French people that needs accented letters).

Problem: We can't type in accented letters in Gtk-2 apps using the Compose key. For instance, typing the 
sequence Compose+Apostrophe+<letter e> only produces a beep.

Using a debugger, It seems that there is either a bug or a misunderstanding between Gtk and Gdk:

- In the file gtkimcontextsimple.c: the key sequence exists in gtk_compose_seqs.

- In gdkevents-x11.c, we have the following lines:
        static XComposeStatus compose;
        .......
        XLookupString(...., &compose);

On Solaris 2.8 machines, XLookupString remembers the compose status in the variable compose, so the function 
check_table in gtkimcontextsimple.c sees the sequence:
    Compose+Apostrophe+<eacute>
instead of the expected sequence
    Compose+Apostrophe+<letter e>

IMHO, the problem can be due:

1. A configuration problem of our X server that knows how to handle the compose key itself. But such a 
feature seems to be very handy for IM unaware apps.

2. A bug in Gdk. I would use XLookupString(..., NULL). But does it break something to make that change ?

3. A configuration+build+install problem at our site. Does anybody have the same problem on Solaris 2.8 ?

Thanks.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]