keybindings: Check for a handler before using it
The `process_event()` would check for a existing keybinding handler and abort if there is none, however the test is done after the handler had been accessed, hence defeating the purpose of the check. Move the check to verify there is an existing keybinding handler before actually using it. https://gitlab.gnome.org/GNOME/mutter/issues/823
This commit is contained in:
parent
b5775e3d85
commit
0706e021f5
@ -1955,6 +1955,9 @@ process_event (MetaDisplay *display,
|
||||
(!window && binding->flags & META_KEY_BINDING_PER_WINDOW))
|
||||
goto not_found;
|
||||
|
||||
if (binding->handler == NULL)
|
||||
meta_bug ("Binding %s has no handler\n", binding->name);
|
||||
|
||||
if (display->focus_window &&
|
||||
!(binding->handler->flags & META_KEY_BINDING_NON_MASKABLE))
|
||||
{
|
||||
@ -1980,12 +1983,9 @@ process_event (MetaDisplay *display,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (binding->handler == NULL)
|
||||
meta_bug ("Binding %s has no handler\n", binding->name);
|
||||
else
|
||||
meta_topic (META_DEBUG_KEYBINDINGS,
|
||||
"Running handler for %s\n",
|
||||
binding->name);
|
||||
meta_topic (META_DEBUG_KEYBINDINGS,
|
||||
"Running handler for %s\n",
|
||||
binding->name);
|
||||
|
||||
/* Global keybindings count as a let-the-terminal-lose-focus
|
||||
* due to new window mapping until the user starts
|
||||
|
Loading…
Reference in New Issue
Block a user