Parse keyval name directly for mnemonic triggers
authorEmmanuele Bassi <ebassi@gnome.org>
Thu, 26 Mar 2020 16:47:15 +0000 (16:47 +0000)
committerEmmanuele Bassi <ebassi@gnome.org>
Fri, 27 Mar 2020 13:57:19 +0000 (13:57 +0000)
We don't need to parse the full accelerator format for mnemonic
triggers.

gtk/gtkshortcuttrigger.c

index fc36e809e591d099678798c62113f7a8b480568b..6840ef10d2ee7f1ccc88b5642f748871c9052e19 100644 (file)
@@ -137,8 +137,9 @@ gtk_shortcut_trigger_parse_string (const char *string)
 
   if (string[0] == '_')
     {
-      if (gtk_accelerator_parse (string + 1, &keyval, &modifiers))
-        return gtk_mnemonic_trigger_new (keyval);
+      keyval = gdk_keyval_from_name (string + 1);
+      if (keyval != GDK_KEY_VoidSymbol)
+        return gtk_mnemonic_trigger_new (gdk_keyval_to_lower (keyval));
     }
 
   if (gtk_accelerator_parse (string, &keyval, &modifiers))