summaryrefslogtreecommitdiff
path: root/openbox/keyboard.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-10-11 16:19:17 +0000
committerDana Jansens <danakj@orodu.net>2003-10-11 16:19:17 +0000
commit055aa5cd7411c4563956e376523219afc6198ce1 (patch)
tree9211d671f2cf93de77c8ed162aab44e982b3b5a0 /openbox/keyboard.c
parent7ca410e66357706e36ea740b49d899be832da671 (diff)
gracefully handle grabs failing when doing interactive actions
Diffstat (limited to 'openbox/keyboard.c')
-rw-r--r--openbox/keyboard.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/openbox/keyboard.c b/openbox/keyboard.c
index 11b3a985..05d40cd0 100644
--- a/openbox/keyboard.c
+++ b/openbox/keyboard.c
@@ -155,8 +155,8 @@ gboolean keyboard_bind(GList *keylist, ObAction *action)
return TRUE;
}
-void keyboard_interactive_grab(guint state, ObClient *client,
- ObAction *action)
+gboolean keyboard_interactive_grab(guint state, ObClient *client,
+ ObAction *action)
{
ObInteractiveState *s;
@@ -164,10 +164,10 @@ void keyboard_interactive_grab(guint state, ObClient *client,
if (!interactive_states) {
if (!grab_keyboard(TRUE))
- return;
+ return FALSE;
if (!grab_pointer(TRUE, OB_CURSOR_NONE)) {
grab_keyboard(FALSE);
- return;
+ return FALSE;
}
}
@@ -178,6 +178,8 @@ void keyboard_interactive_grab(guint state, ObClient *client,
s->actions = g_slist_append(NULL, action);
interactive_states = g_slist_append(interactive_states, s);
+
+ return TRUE;
}
void keyboard_interactive_end(ObInteractiveState *s,