aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2019-07-09 15:02:25 +0100
committerThomas Adam <thomas@xteddy.org>2019-07-09 15:02:25 +0100
commit177599efb7d6477db8ce2bc6da82b16cb0327954 (patch)
tree4cb3a3591e76e61999df4fae093f4bb9da9e95c3
parentab244cc7ad9fa83be82c22b3f7676684a729053e (diff)
parentad11d49d640c911b42c5292b5f5b7dbdffb4908b (diff)
downloadrtmux-177599efb7d6477db8ce2bc6da82b16cb0327954.tar.gz
rtmux-177599efb7d6477db8ce2bc6da82b16cb0327954.tar.bz2
rtmux-177599efb7d6477db8ce2bc6da82b16cb0327954.zip
Merge branch 'obsd-master'
-rw-r--r--control.c1
-rw-r--r--menu.c20
2 files changed, 12 insertions, 9 deletions
diff --git a/control.c b/control.c
index 16fa71bb..c4cf5338 100644
--- a/control.c
+++ b/control.c
@@ -80,6 +80,7 @@ control_callback(struct client *c, int closed, __unused void *data)
if (line == NULL)
break;
if (*line == '\0') { /* empty line exit */
+ free(line);
c->flags |= CLIENT_EXIT;
break;
}
diff --git a/menu.c b/menu.c
index cc21c796..da8d89c4 100644
--- a/menu.c
+++ b/menu.c
@@ -206,8 +206,18 @@ menu_key_cb(struct client *c, struct key_event *event)
c->flags |= CLIENT_REDRAWOVERLAY;
return (0);
}
+ for (i = 0; i < (u_int)count; i++) {
+ name = menu->items[i].name;
+ if (name == NULL || *name == '-')
+ continue;
+ if (event->key == menu->items[i].key) {
+ md->choice = i;
+ goto chosen;
+ }
+ }
switch (event->key) {
case KEYC_UP:
+ case 'k':
if (old == -1)
old = 0;
do {
@@ -220,6 +230,7 @@ menu_key_cb(struct client *c, struct key_event *event)
c->flags |= CLIENT_REDRAWOVERLAY;
return (0);
case KEYC_DOWN:
+ case 'j':
if (old == -1)
old = 0;
do {
@@ -239,15 +250,6 @@ menu_key_cb(struct client *c, struct key_event *event)
case 'q':
return (1);
}
- for (i = 0; i < (u_int)count; i++) {
- name = menu->items[i].name;
- if (name == NULL || *name == '-')
- continue;
- if (event->key == menu->items[i].key) {
- md->choice = i;
- goto chosen;
- }
- }
return (0);
chosen: