* configure.ac (HAVE_XKB): Define if Xkb is present.
authorJan Djärv <jan.h.d@swipnet.se>
Mon, 25 Mar 2013 17:58:35 +0000 (18:58 +0100)
committerJan Djärv <jan.h.d@swipnet.se>
Mon, 25 Mar 2013 17:58:35 +0000 (18:58 +0100)
* src/xterm.c: Include X11/XKBlib.h
(XTring_bell): Use XkbBell if HAVE_XKB.

Fixes: debbugs:14041

ChangeLog
configure.ac
src/xterm.c

index d6626d4..3d01040 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-03-25  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * configure.ac (HAVE_XKB): Define if Xkb is present.
+
 2013-03-24  Paul Eggert  <eggert@cs.ucla.edu>
 
        Merge from gnulib, incorporating:
index d6c730c..1c5c172 100644 (file)
@@ -1822,6 +1822,7 @@ if test "${HAVE_X11}" = "yes"; then
   AC_MSG_RESULT($emacs_xkb)
   if test $emacs_xkb = yes; then
     AC_DEFINE(HAVE_XKBGETKEYBOARD, 1, [Define to 1 if you have the XkbGetKeyboard function.])
+    AC_DEFINE(HAVE_XKB, 1, [Define to 1 if you have the Xkb extension.])
   fi
 
   AC_CHECK_FUNCS(XrmSetDatabase XScreenResourceString \
index d8c2dfd..e4a6810 100644 (file)
@@ -130,6 +130,10 @@ extern void _XEditResCheckMessages (Widget, XtPointer, XEvent *, Boolean *);
 
 #include "bitmaps/gray.xbm"
 
+#ifdef HAVE_XKB
+#include <X11/XKBlib.h>
+#endif
+
 /* Default to using XIM if available.  */
 #ifdef USE_XIM
 int use_xim = 1;
@@ -3218,7 +3222,11 @@ XTring_bell (struct frame *f)
       else
        {
          block_input ();
+#ifdef HAVE_XKB
+          XkbBell (FRAME_X_DISPLAY (f), None, 0, None);
+#else
          XBell (FRAME_X_DISPLAY (f), 0);
+#endif
          XFlush (FRAME_X_DISPLAY (f));
          unblock_input ();
        }