save teh client for interactive actions cuz after teh keyboard is grabbed there is no client

This commit is contained in:
Dana Jansens 2003-09-09 08:05:06 +00:00
parent fbbc4c55ba
commit 3fcba81510
3 changed files with 6 additions and 4 deletions

View file

@ -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);

View file

@ -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;

View file

@ -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);