aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2022-01-06 09:45:20 +0800
committerPo Lu2022-01-06 09:45:20 +0800
commit5749c57e473808b589a615ac4e4e7f7eef8da949 (patch)
tree00494bde25cf400e61c974010ecdc3b834bc96cf /src
parent61f8f7f68f3bac5dc7ab41532902c480417552d8 (diff)
downloademacs-5749c57e473808b589a615ac4e4e7f7eef8da949.tar.gz
emacs-5749c57e473808b589a615ac4e4e7f7eef8da949.zip
* src/xterm.c (handle_one_xevent): Check for errors when kbd map.
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 8202e8fb003..ad6652fb33c 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -11253,15 +11253,22 @@ handle_one_xevent (struct x_display_info *dpyinfo,
11253 { 11253 {
11254 if (dpyinfo->xkb_desc) 11254 if (dpyinfo->xkb_desc)
11255 { 11255 {
11256 XkbGetUpdatedMap (dpyinfo->display, 11256 if (XkbGetUpdatedMap (dpyinfo->display,
11257 (XkbKeySymsMask 11257 (XkbKeySymsMask
11258 | XkbKeyTypesMask 11258 | XkbKeyTypesMask
11259 | XkbModifierMapMask 11259 | XkbModifierMapMask
11260 | XkbVirtualModsMask), 11260 | XkbVirtualModsMask),
11261 dpyinfo->xkb_desc); 11261 dpyinfo->xkb_desc) == Success)
11262 XkbGetNames (dpyinfo->display, 11262 {
11263 XkbGroupNamesMask | XkbVirtualModNamesMask, 11263 XkbGetNames (dpyinfo->display,
11264 dpyinfo->xkb_desc); 11264 XkbGroupNamesMask | XkbVirtualModNamesMask,
11265 dpyinfo->xkb_desc);
11266 }
11267 else
11268 {
11269 XkbFreeKeyboard (dpyinfo->xkb_desc, XkbAllComponentsMask, True);
11270 dpyinfo->xkb_desc = NULL;
11271 }
11265 11272
11266 x_find_modifier_meanings (dpyinfo); 11273 x_find_modifier_meanings (dpyinfo);
11267 } 11274 }