From: Ingo Bürk Date: Thu, 29 Mar 2018 10:06:05 +0000 (+0200) Subject: Merge pull request #3207 from orestisf1993/get_workspace_by_ X-Git-Tag: 4.16~110 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=145a93d5b44412f04d4966f286876c19601e053b;hp=0b5799412aa1fec5f989ecdea410acc46b10e9a4;p=i3%2Fi3 Merge pull request #3207 from orestisf1993/get_workspace_by_ Introduce get_workspace_by_* functions --- diff --git a/src/bindings.c b/src/bindings.c index c145b956..fe77bc8f 100644 --- a/src/bindings.c +++ b/src/bindings.c @@ -431,31 +431,20 @@ static void add_keycode_if_matches(struct xkb_keymap *keymap, xkb_keycode_t key, * */ void translate_keysyms(void) { - struct xkb_state *dummy_state = xkb_state_new(xkb_keymap); - if (dummy_state == NULL) { - ELOG("Could not create XKB state, cannot translate keysyms.\n"); - return; - } - - struct xkb_state *dummy_state_no_shift = xkb_state_new(xkb_keymap); - if (dummy_state_no_shift == NULL) { - ELOG("Could not create XKB state, cannot translate keysyms.\n"); - return; - } - - struct xkb_state *dummy_state_numlock = xkb_state_new(xkb_keymap); - if (dummy_state_numlock == NULL) { - ELOG("Could not create XKB state, cannot translate keysyms.\n"); - return; - } + struct xkb_state *dummy_state = NULL; + struct xkb_state *dummy_state_no_shift = NULL; + struct xkb_state *dummy_state_numlock = NULL; + struct xkb_state *dummy_state_numlock_no_shift = NULL; + bool has_errors = false; - struct xkb_state *dummy_state_numlock_no_shift = xkb_state_new(xkb_keymap); - if (dummy_state_numlock_no_shift == NULL) { + if ((dummy_state = xkb_state_new(xkb_keymap)) == NULL || + (dummy_state_no_shift = xkb_state_new(xkb_keymap)) == NULL || + (dummy_state_numlock = xkb_state_new(xkb_keymap)) == NULL || + (dummy_state_numlock_no_shift = xkb_state_new(xkb_keymap)) == NULL) { ELOG("Could not create XKB state, cannot translate keysyms.\n"); - return; + goto out; } - bool has_errors = false; Binding *bind; TAILQ_FOREACH(bind, bindings, bindings) { #define ADD_TRANSLATED_KEY(code, mods) \ @@ -620,6 +609,7 @@ void translate_keysyms(void) { #undef ADD_TRANSLATED_KEY } +out: xkb_state_unref(dummy_state); xkb_state_unref(dummy_state_no_shift); xkb_state_unref(dummy_state_numlock);