keybindings: Stop tracking special binding combos

We use them in a single place, there is no need to internally keep
track of them. The MetaKeyBindingManager has their resolved key
combo (overlay_resolved_key_combo and locate_pointer_resolved_key_combo)
which is enough. Get the special binding combos from the preference
right away when needed.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4050>
This commit is contained in:
Alessandro Bono 2024-09-25 23:55:05 +02:00 committed by Marge Bot
parent c60285ff76
commit db81ba4d5b
2 changed files with 6 additions and 18 deletions

View File

@ -114,10 +114,8 @@ typedef struct
xkb_mod_mask_t virtual_super_mask;
xkb_mod_mask_t meta_mask;
xkb_mod_mask_t virtual_meta_mask;
MetaKeyCombo overlay_key_combo;
MetaResolvedKeyCombo overlay_resolved_key_combo;
gboolean overlay_key_only_pressed;
MetaKeyCombo locate_pointer_key_combo;
MetaResolvedKeyCombo locate_pointer_resolved_key_combo;
gboolean locate_pointer_key_only_pressed;
MetaResolvedKeyCombo iso_next_group_combo[2];

View File

@ -785,16 +785,20 @@ reload_active_keyboard_layouts (MetaKeyBindingManager *keys)
static void
reload_combos (MetaKeyBindingManager *keys)
{
MetaKeyCombo combo;
g_hash_table_remove_all (keys->key_bindings_index);
reload_active_keyboard_layouts (keys);
meta_prefs_get_overlay_binding (&combo);
resolve_key_combo (keys,
&keys->overlay_key_combo,
&combo,
&keys->overlay_resolved_key_combo);
meta_prefs_get_locate_pointer_binding (&combo);
resolve_key_combo (keys,
&keys->locate_pointer_key_combo,
&combo,
&keys->locate_pointer_resolved_key_combo);
reload_iso_next_group_combos (keys);
@ -881,18 +885,6 @@ rebuild_key_binding_table (MetaKeyBindingManager *keys)
g_list_free (grabs);
}
static void
rebuild_special_bindings (MetaKeyBindingManager *keys)
{
MetaKeyCombo combo;
meta_prefs_get_overlay_binding (&combo);
keys->overlay_key_combo = combo;
meta_prefs_get_locate_pointer_binding (&combo);
keys->locate_pointer_key_combo = combo;
}
static MetaKeyBinding *
get_keybinding (MetaKeyBindingManager *keys,
MetaResolvedKeyCombo *resolved_combo)
@ -1180,7 +1172,6 @@ prefs_changed_callback (MetaPreference pref,
meta_x11_keybindings_ungrab_key_bindings (display);
#endif
rebuild_key_binding_table (keys);
rebuild_special_bindings (keys);
reload_combos (keys);
#ifdef HAVE_X11
meta_x11_keybindings_grab_key_bindings (display);
@ -2859,7 +2850,6 @@ meta_display_init_keys (MetaDisplay *display)
init_builtin_key_bindings (display);
rebuild_key_binding_table (keys);
rebuild_special_bindings (keys);
reload_combos (keys);