diff options
author | Thomas Adam <thomas@xteddy.org> | 2015-01-16 19:17:31 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2015-01-16 19:17:31 +0000 |
commit | df6488a47088ec8bcddc6a1cfa85fec1a462c789 (patch) | |
tree | cf1bbe106963c4f0201a2edc24f8bc416f74c0ca /window-copy.c | |
parent | 66e8811c64a833b759511b3f7309e834155a8442 (diff) | |
parent | 776eef49d8e13b227d25e5d56d4c379b89c4aacb (diff) | |
download | rtmux-df6488a47088ec8bcddc6a1cfa85fec1a462c789.tar.gz rtmux-df6488a47088ec8bcddc6a1cfa85fec1a462c789.tar.bz2 rtmux-df6488a47088ec8bcddc6a1cfa85fec1a462c789.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'window-copy.c')
-rw-r--r-- | window-copy.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/window-copy.c b/window-copy.c index 8aae09be..6447a2d5 100644 --- a/window-copy.c +++ b/window-copy.c @@ -390,13 +390,16 @@ window_copy_key(struct window_pane *wp, struct session *sess, int key) if (data->inputtype == WINDOW_COPY_JUMPFORWARD) { for (; np != 0; np--) window_copy_cursor_jump(wp); - } else if (data->inputtype == WINDOW_COPY_JUMPBACK) { + } + if (data->inputtype == WINDOW_COPY_JUMPBACK) { for (; np != 0; np--) window_copy_cursor_jump_back(wp); - } else if (data->inputtype == WINDOW_COPY_JUMPTOFORWARD) { + } + if (data->inputtype == WINDOW_COPY_JUMPTOFORWARD) { for (; np != 0; np--) window_copy_cursor_jump_to(wp); - } else if (data->inputtype == WINDOW_COPY_JUMPTOBACK) { + } + if (data->inputtype == WINDOW_COPY_JUMPTOBACK) { for (; np != 0; np--) window_copy_cursor_jump_to_back(wp); } @@ -1771,7 +1774,7 @@ window_copy_other_end(struct window_pane *wp) { struct window_copy_mode_data *data = wp->modedata; struct screen *s = &data->screen; - u_int selx, sely, cx, cy, yy; + u_int selx, sely, cx, cy, yy, hsize; if (!s->sel.flag && s->sel.lineflag == LINE_SEL_NONE) return; @@ -1791,13 +1794,13 @@ window_copy_other_end(struct window_pane *wp) data->sely = yy; data->cx = selx; - if (sely < screen_hsize(data->backing) - data->oy) { - data->oy = screen_hsize(data->backing) - sely; + hsize = screen_hsize(data->backing); + if (sely < hsize - data->oy) { + data->oy = hsize - sely; data->cy = 0; - } else if (sely > screen_hsize(data->backing) - data->oy + screen_size_y(s)) { - data->oy = screen_hsize(data->backing) - sely + screen_size_y(s) - 1; + } else if (sely > hsize - data->oy + screen_size_y(s)) { + data->oy = hsize - sely + screen_size_y(s) - 1; data->cy = screen_size_y(s) - 1; - } else data->cy = cy + sely - yy; |