Re: Can't find XK_Num_Lock when trying to compile gtk+3.0.10

On Thu, Jun 23, 2011 at 08:52:49AM -0400, twurgl goodyear com wrote:
> I am on SuSE 10.1 and believe I have all the prerequisite packages 
> installed, yet I get:
>   CC     gdkkeys-x11.lo
> gdkkeys-x11.c: In function 'get_xkb':
> gdkkeys-x11.c:235: error: 'XK_Num_Lock' undeclared (first use in this 
> function)

XK_Num_Lock lives in X11/keysymdef.h. I think it is usual to
#include <X11/keysym.h>, which in turn includes keysymdef.h.

It seems that gdk/ looks for keysymdef.h among
others, and attempts to make a gdkkeysyms.h from it?

Looking at gdkkeysyms.h, GDK_KEY_Num_Lock = 0xff7f matches XK_Num_Lock
which is also 0xff7f.

So, to cut a long story short, the attached (untested) patch, should
do the trick.


diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c
index da227f3..ca616bb 100644
--- a/gdk/x11/gdkkeys-x11.c
+++ b/gdk/x11/gdkkeys-x11.c
@@ -232,7 +232,7 @@ get_xkb (GdkX11Keymap *keymap_x11)
   keymap_x11->current_serial = display_x11->keymap_serial;
   if (keymap_x11->num_lock_mask == 0)
-    keymap_x11->num_lock_mask = XkbKeysymToModifiers (KEYMAP_XDISPLAY (GDK_KEYMAP (keymap_x11)), XK_Num_Lock);
+    keymap_x11->num_lock_mask = XkbKeysymToModifiers (KEYMAP_XDISPLAY (GDK_KEYMAP (keymap_x11)), GDK_KEY_Num_Lock);
   return keymap_x11->xkb_desc;

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