From 8794107a635f953fe923fa75b0394f9ed3ffbe58 Mon Sep 17 00:00:00 2001 From: Michael Rosenberg <42micro@gmail.com> Date: Sun, 2 Sep 2012 16:47:37 -0400 Subject: [PATCH] Check grab_key return on start and disable it if it fails --- dunst.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dunst.c b/dunst.c index 24b17f5..1481bde 100644 --- a/dunst.c +++ b/dunst.c @@ -133,6 +133,8 @@ static int tear_down_error_handler(void) int grab_key(keyboard_shortcut * ks) { + if (!ks->is_valid) + return 1; Window root; root = RootWindow(dc->dpy, DefaultScreen(dc->dpy)); @@ -144,6 +146,7 @@ int grab_key(keyboard_shortcut * ks) if (tear_down_error_handler()) { fprintf(stderr, "Unable to grab key \"%s\"\n", ks->str); + ks->is_valid = False; return 1; } return 0; @@ -1726,6 +1729,13 @@ int main(int argc, char *argv[]) init_shortcut(&close_all_ks); init_shortcut(&history_ks); + grab_key(&close_ks); + ungrab_key(&close_ks); + grab_key(&close_all_ks); + ungrab_key(&close_all_ks); + grab_key(&history_ks); + ungrab_key(&history_ks); + geometry.mask = XParseGeometry(geom, &geometry.x, &geometry.y, &geometry.w, &geometry.h);