save teh client for interactive actions cuz after teh keyboard is grabbed there is no client
This commit is contained in:
parent
fbbc4c55ba
commit
3fcba81510
3 changed files with 6 additions and 4 deletions
|
@ -488,7 +488,7 @@ static void event_process(const XEvent *ec, gpointer data)
|
|||
if (menu_frame_visible)
|
||||
event_handle_menu(e);
|
||||
else {
|
||||
if (!keyboard_process_interactive_grab(e)) {
|
||||
if (!keyboard_process_interactive_grab(e, &client)) {
|
||||
if (moveresize_in_progress)
|
||||
moveresize_event(e);
|
||||
|
||||
|
|
|
@ -157,7 +157,7 @@ void keyboard_interactive_grab(guint state, ObClient *client,
|
|||
interactive_states = g_slist_append(interactive_states, s);
|
||||
}
|
||||
|
||||
gboolean keyboard_process_interactive_grab(const XEvent *e)
|
||||
gboolean keyboard_process_interactive_grab(const XEvent *e, ObClient **client)
|
||||
{
|
||||
GSList *it, *next;
|
||||
gboolean handled = FALSE;
|
||||
|
@ -192,7 +192,8 @@ gboolean keyboard_process_interactive_grab(const XEvent *e)
|
|||
}
|
||||
|
||||
handled = TRUE;
|
||||
}
|
||||
} else
|
||||
*client = s->client;
|
||||
}
|
||||
|
||||
return handled;
|
||||
|
|
|
@ -22,7 +22,8 @@ void keyboard_reset_chains();
|
|||
|
||||
void keyboard_interactive_grab(guint state, struct _ObClient *client,
|
||||
struct _ObAction *action);
|
||||
gboolean keyboard_process_interactive_grab(const XEvent *e);
|
||||
gboolean keyboard_process_interactive_grab(const XEvent *e,
|
||||
struct _ObClient **client);
|
||||
|
||||
void keyboard_grab_for_client(struct _ObClient *c, gboolean grab);
|
||||
|
||||
|
|
Loading…
Reference in a new issue