don't assert, users can bind stuff however they like. but if they do something that moves focus during an interactive action, kill the grab
This commit is contained in:
parent
b7827484ef
commit
47c8d40729
1 changed files with 7 additions and 5 deletions
|
@ -3343,13 +3343,15 @@ gboolean client_focus(ObClient *self)
|
|||
"Focusing client \"%s\" at time %u\n",
|
||||
self->title, event_curtime);
|
||||
|
||||
/* if we move focus during a grab, applications will get
|
||||
NotifyWhileGrabbed events and ignore them !
|
||||
/* if there is a grab going on, then we need to cancel it. if we move
|
||||
focus during the grab, applications will get NotifyWhileGrabbed events
|
||||
and ignore them !
|
||||
|
||||
interactive actions should not do anything that can move focus until
|
||||
their finishing.
|
||||
actions should not rely on being able to move focus during an
|
||||
interactive grab.
|
||||
*/
|
||||
g_assert(!keyboard_interactively_grabbed());
|
||||
if (keyboard_interactively_grabbed())
|
||||
keyboard_interactive_cancel();
|
||||
|
||||
error = FALSE;
|
||||
xerror_set_ignore(TRUE);
|
||||
|
|
Loading…
Reference in a new issue