From a4cedbf77462c751f2eab4aa295a0187f855e397 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20Dj=C3=A4rv?= Date: Mon, 25 Mar 2013 18:58:35 +0100 Subject: [PATCH] * configure.ac (HAVE_XKB): Define if Xkb is present. * src/xterm.c: Include X11/XKBlib.h (XTring_bell): Use XkbBell if HAVE_XKB. Fixes: debbugs:14041 --- ChangeLog | 4 ++++ configure.ac | 1 + src/xterm.c | 8 ++++++++ 3 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index d6626d4df10..3d01040ca96 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-03-25 Jan Djärv + + * configure.ac (HAVE_XKB): Define if Xkb is present. + 2013-03-24 Paul Eggert Merge from gnulib, incorporating: diff --git a/configure.ac b/configure.ac index d6c730c5033..1c5c1725dab 100644 --- a/configure.ac +++ b/configure.ac @@ -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 \ diff --git a/src/xterm.c b/src/xterm.c index d8c2dfdda82..e4a681031ef 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -130,6 +130,10 @@ extern void _XEditResCheckMessages (Widget, XtPointer, XEvent *, Boolean *); #include "bitmaps/gray.xbm" +#ifdef HAVE_XKB +#include +#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 (); } -- 2.39.2