diff options
author | Thomas Adam <thomas@xteddy.org> | 2020-10-30 14:01:20 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2020-10-30 14:01:20 +0000 |
commit | d0640609044c06ffa5aeb7a509965ce3f0b1a412 (patch) | |
tree | 81f337a88897a8dd7e7f5a9913ee926f7e764318 | |
parent | 0b8ae4de5c38210d9a3ac6d003726f7cab89f285 (diff) | |
parent | 9726c4454e29cb5b9c6681abfb5c99972a9bd574 (diff) | |
download | rtmux-d0640609044c06ffa5aeb7a509965ce3f0b1a412.tar.gz rtmux-d0640609044c06ffa5aeb7a509965ce3f0b1a412.tar.bz2 rtmux-d0640609044c06ffa5aeb7a509965ce3f0b1a412.zip |
Merge branch 'obsd-master'
-rw-r--r-- | input.c | 4 | ||||
-rw-r--r-- | menu.c | 7 | ||||
-rw-r--r-- | screen.c | 2 |
3 files changed, 10 insertions, 3 deletions
@@ -1545,6 +1545,10 @@ input_csi_dispatch(struct input_ctx *ictx) if (n == -1) break; + m = screen_size_x(s) - s->cx; + if (n > m) + n = m; + if (ictx->last == -1) break; ictx->ch = ictx->last; @@ -315,10 +315,11 @@ chosen: if (md->choice == -1) return (1); item = &menu->items[md->choice]; - if ((md->flags & MENU_STAYOPEN) && item->name == NULL) - return (0); - if (item->name == NULL || *item->name == '-') + if (item->name == NULL || *item->name == '-') { + if (md->flags & MENU_STAYOPEN) + return (0); return (1); + } if (md->cb != NULL) { md->cb(md->menu, md->choice, item->key, md->data); md->cb = NULL; @@ -78,6 +78,7 @@ screen_init(struct screen *s, u_int sx, u_int sy, u_int hlimit) s->title = xstrdup(""); s->titles = NULL; + s->path = NULL; s->cstyle = 0; s->ccolour = xstrdup(""); @@ -120,6 +121,7 @@ screen_free(struct screen *s) { free(s->sel); free(s->tabs); + free(s->path); free(s->title); free(s->ccolour); |