summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-04-12 21:15:05 +0800
committerPo Lu <luangruo@yahoo.com>2022-04-12 21:30:25 +0800
commit1b20c4eaa2e5befc4c500637332c3bc1b719cf47 (patch)
tree10199b40811fe923609ee812712c818863754d97
parent4a108df0ebb68e9ea1073d53c14d8f897e43f21c (diff)
downloademacs-1b20c4eaa2e5befc4c500637332c3bc1b719cf47.tar.gz
Fix detection of Meta key in some cases
* src/xterm.c (x_find_modifier_meanings): Set found_meta_p correctly.
-rw-r--r--src/xterm.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 12707fc9a20..e922ab8fbb2 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -9883,6 +9883,7 @@ x_find_modifier_meanings (struct x_display_info *dpyinfo)
#ifdef HAVE_XKB
int i;
int found_meta_p = false;
+ uint vmodmask;
#endif
dpyinfo->meta_mod_mask = 0;
@@ -9897,12 +9898,14 @@ x_find_modifier_meanings (struct x_display_info *dpyinfo)
{
for (i = 0; i < XkbNumVirtualMods; i++)
{
- uint vmodmask = dpyinfo->xkb_desc->server->vmods[i];
+ vmodmask = dpyinfo->xkb_desc->server->vmods[i];
if (dpyinfo->xkb_desc->names->vmods[i] == dpyinfo->Xatom_Meta)
{
dpyinfo->meta_mod_mask |= vmodmask;
- found_meta_p = vmodmask;
+
+ if (vmodmask)
+ found_meta_p = true;
}
else if (dpyinfo->xkb_desc->names->vmods[i] == dpyinfo->Xatom_Alt)
dpyinfo->alt_mod_mask |= vmodmask;