summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-09-21 17:17:34 +0000
committerDana Jansens <danakj@orodu.net>2003-09-21 17:17:34 +0000
commita260db31a99ad35a5bf347facab2cdd61e3b7558 (patch)
treeb679435b6d8f20236f87336db4180ccbc71ee991
parent32047fd66c796fe837168ce2ac6677aa0d2b20b4 (diff)
if the keyboard is grabbed then dont ungrab it!
-rw-r--r--openbox/action.c20
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,