]> Dogcows Code - chaz/openbox/commitdiff
if the keyboard is grabbed then dont ungrab it!
authorDana Jansens <danakj@orodu.net>
Sun, 21 Sep 2003 17:17:34 +0000 (17:17 +0000)
committerDana Jansens <danakj@orodu.net>
Sun, 21 Sep 2003 17:17:34 +0000 (17:17 +0000)
openbox/action.c

index f780ce884b8fa2629ec768e202faae7f1c244e66..441b939546ef502efab8aa0d140c48552b6c1563 100644 (file)
@@ -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,
This page took 0.025951 seconds and 4 git commands to generate.