From: Jan Djärv Date: Mon, 25 Mar 2013 17:58:35 +0000 (+0100) Subject: * configure.ac (HAVE_XKB): Define if Xkb is present. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~2026^2~526^2~96 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a4cedbf77462c751f2eab4aa295a0187f855e397;p=emacs.git * 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 --- 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 (); }