]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix detection of Meta key in some cases
authorPo Lu <luangruo@yahoo.com>
Tue, 12 Apr 2022 13:15:05 +0000 (21:15 +0800)
committerPo Lu <luangruo@yahoo.com>
Tue, 12 Apr 2022 13:30:25 +0000 (21:30 +0800)
* src/xterm.c (x_find_modifier_meanings): Set found_meta_p
correctly.

src/xterm.c

index 12707fc9a20551e6f5ed3734703d7a4f2e556965..e922ab8fbb276add8fa2908f8a8d8aa95a285864 100644 (file)
@@ -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;