aboutsummaryrefslogtreecommitdiff
path: root/key-bindings.c
diff options
context:
space:
mode:
Diffstat (limited to 'key-bindings.c')
-rw-r--r--key-bindings.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/key-bindings.c b/key-bindings.c
index f11bb430..63d4bb26 100644
--- a/key-bindings.c
+++ b/key-bindings.c
@@ -191,6 +191,16 @@ key_bindings_add(const char *name, key_code key, const char *note, int repeat,
table = key_bindings_get_table(name, 1);
bd = key_bindings_get(table, key & ~KEYC_MASK_FLAGS);
+ if (cmdlist == NULL) {
+ if (bd != NULL) {
+ free((void *)bd->note);
+ if (note != NULL)
+ bd->note = xstrdup(note);
+ else
+ bd->note = NULL;
+ }
+ return;
+ }
if (bd != NULL) {
RB_REMOVE(key_bindings, &table->key_bindings, bd);
key_bindings_free(bd);