summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2013-03-25 18:58:35 +0100
committerJan Djärv <jan.h.d@swipnet.se>2013-03-25 18:58:35 +0100
commita4cedbf77462c751f2eab4aa295a0187f855e397 (patch)
tree2011d6c27b79136c9797f8ff611595397b76c6dd
parent553fabe73ac34fa9f24daa48201923af04da7d88 (diff)
downloademacs-a4cedbf77462c751f2eab4aa295a0187f855e397.tar.gz
emacs-a4cedbf77462c751f2eab4aa295a0187f855e397.tar.bz2
emacs-a4cedbf77462c751f2eab4aa295a0187f855e397.zip
* 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
-rw-r--r--ChangeLog4
-rw-r--r--configure.ac1
-rw-r--r--src/xterm.c8
3 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d6626d4df10..3d01040ca96 100644
--- 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:
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 <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 ();
}