diff options
author | Thomas Adam <thomas@xteddy.org> | 2020-04-07 16:01:29 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2020-04-07 16:01:29 +0100 |
commit | 6a2f32b4fdb5bdea21594f1305b4c96e9e1bf46d (patch) | |
tree | be3b0e9dd882ab21414cb79992e41ca6f1bc521e | |
parent | 8fa0b0cd2677efbabc259db09ae736febe301272 (diff) | |
parent | 1c8f7c1f7afcc7d2a9fcef8d38e6c0e4451da659 (diff) | |
download | rtmux-6a2f32b4fdb5bdea21594f1305b4c96e9e1bf46d.tar.gz rtmux-6a2f32b4fdb5bdea21594f1305b4c96e9e1bf46d.tar.bz2 rtmux-6a2f32b4fdb5bdea21594f1305b4c96e9e1bf46d.zip |
Merge branch 'obsd-master'
-rw-r--r-- | input-keys.c | 2 | ||||
-rw-r--r-- | popup.c | 4 | ||||
-rw-r--r-- | screen.c | 4 | ||||
-rw-r--r-- | tmux.h | 1 |
4 files changed, 8 insertions, 3 deletions
diff --git a/input-keys.c b/input-keys.c index fa578912..04ecb264 100644 --- a/input-keys.c +++ b/input-keys.c @@ -270,6 +270,8 @@ input_key_get_mouse(struct screen *s, struct mouse_event *m, u_int x, u_int y, /* If this pane is not in button or all mode, discard motion events. */ if (MOUSE_DRAG(m->b) && (s->mode & MOTION_MOUSE_MODES) == 0) return (0); + if ((s->mode & ALL_MOUSE_MODES) == 0) + return (0); /* * If this event is a release event and not in all mode, discard it. @@ -200,9 +200,9 @@ popup_handle_drag(struct client *c, struct popup_data *pd, pd->dy = m->y - pd->py; server_redraw_client(c); } else if (pd->dragging == SIZE) { - if (m->x < pd->px + 2) + if (m->x < pd->px + 3) return; - if (m->y < pd->py + 2) + if (m->y < pd->py + 3) return; pd->sx = m->x - pd->px; pd->sy = m->y - pd->py; @@ -535,6 +535,7 @@ screen_alternate_on(struct screen *s, struct grid_cell *gc, int cursor) grid_view_clear(s->grid, 0, 0, sx, sy, 8); + s->saved_flags = s->grid->flags; s->grid->flags &= ~GRID_HISTORY; } @@ -578,7 +579,8 @@ screen_alternate_off(struct screen *s, struct grid_cell *gc, int cursor) * Turn history back on (so resize can use it) and then resize back to * the current size. */ - s->grid->flags |= GRID_HISTORY; + if (s->saved_flags & GRID_HISTORY) + s->grid->flags |= GRID_HISTORY; if (sy > s->saved_grid->sy || sx != s->saved_grid->sx) screen_resize(s, sx, sy, 1); @@ -763,6 +763,7 @@ struct screen { u_int saved_cy; struct grid *saved_grid; struct grid_cell saved_cell; + int saved_flags; bitstr_t *tabs; struct screen_sel *sel; |