Re: [Vala] [PATCH] add missing XStringToKeysym() function to x11.vapi



Am Mittwoch, den 30.03.2011, 23:01 +0200 schrieb Luca Bruno:
Let's say Keysym was an enum (it's not the case because there's a really 
huge number of keysyms starting with XK_).
In this scenario string_to_keysym should have been an instance method of
this Keysym enum. Therefore it's a method that _only_ belongs to keysyms and
has nothing to do with Display, while the keycode is tied to the Display.

I am almost finished with adding all XFooToBar() functions, but I think
I found another bug:

The current x11 bindings say:
        KeySym == uint
        KeyCode == int

However, the header files say something else:

        $ grep -r typedef /usr/include/X11/ | grep 'KeySym;'
        /usr/include/X11/X.h:typedef XID KeySym;
        $ grep -r typedef /usr/include/X11/ | grep 'XID;'
        /usr/include/X11/Xdefs.h:typedef unsigned long XID;
        /usr/include/X11/Xdefs.h:typedef CARD32 XID;
        /usr/include/X11/X.h:typedef unsigned long XID;
        /usr/include/X11/X.h:typedef CARD32 XID;
        $ grep -r typedef /usr/include/X11/ | grep 'KeyCode;'
        /usr/include/X11/X.h:typedef unsigned char KeyCode;
        $ 

According to the header files this would be correct:

        KeySym == ulong
        KeyCode == uchar

If I use the old definitions, I get segfaults when using XConvertCase().
With the new definitions everything works fine.

Can you confirm that the new definitions are correct before I submit my
final patch?

Best regards

Alexander Kurtz

Attachment: signature.asc
Description: This is a digitally signed message part



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