diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-03-29 00:48:32 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-03-29 00:48:32 +0000 |
| commit | 475fb805f2bac50d3c0bb4c35a743b54bd10e650 (patch) | |
| tree | caefa56ef0eaba7f089d45b4d9fe50ee5e6ebc19 | |
| parent | a61cecfe3a30baa4ab001491bb1df4fdc86b66d1 (diff) | |
don't die when someone else has a key grabbed
| -rw-r--r-- | openbox/grab.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/openbox/grab.c b/openbox/grab.c index f90eb6b5..830c0002 100644 --- a/openbox/grab.c +++ b/openbox/grab.c @@ -1,5 +1,6 @@ #include "openbox.h" #include "event.h" +#include "xerror.h" #include <glib.h> #include <X11/Xlib.h> @@ -102,9 +103,14 @@ void grab_key(guint keycode, guint state, int keyboard_mode) { guint i; + xerror_set_ignore(TRUE); /* can get BadAccess' from these */ + xerror_occured = FALSE; for (i = 0; i < MASK_LIST_SIZE; ++i) XGrabKey(ob_display, keycode, state | mask_list[i], ob_root, FALSE, GrabModeAsync, keyboard_mode); + xerror_set_ignore(FALSE); + if (xerror_occured) + g_warning("failed to grab keycode %d modifiers %d", keycode, state); } void ungrab_all_keys() |
