diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-09-21 17:17:34 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-09-21 17:17:34 +0000 |
| commit | a260db31a99ad35a5bf347facab2cdd61e3b7558 (patch) | |
| tree | b679435b6d8f20236f87336db4180ccbc71ee991 | |
| parent | 32047fd66c796fe837168ce2ac6677aa0d2b20b4 (diff) | |
if the keyboard is grabbed then dont ungrab it!
| -rw-r--r-- | openbox/action.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/openbox/action.c b/openbox/action.c index f780ce88..441b9395 100644 --- a/openbox/action.c +++ b/openbox/action.c @@ -785,7 +785,7 @@ ObAction *action_parse(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, return act; } -void action_run_list(GSList *acts, struct _ObClient *c, +void action_run_list(GSList *acts, ObClient *c, guint state, guint button, gint x, gint y, gboolean cancel, gboolean done) { @@ -793,16 +793,22 @@ void action_run_list(GSList *acts, struct _ObClient *c, ObAction *a; gboolean inter = FALSE; + if (!acts) + return; + if (x < 0 && y < 0) screen_pointer_pos(&x, &y); - for (it = acts; it; it = g_slist_next(it)) { - a = it->data; - if (a->data.any.interactive) { - inter = TRUE; - break; + if (grab_on_keyboard()) + inter = TRUE; + else + for (it = acts; it; it = g_slist_next(it)) { + a = it->data; + if (a->data.any.interactive) { + inter = TRUE; + break; + } } - } if (!inter) { /* sometimes when we execute another app as an action, |
