aboutsummaryrefslogtreecommitdiff
path: root/window-copy.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2015-01-16 19:17:31 +0000
committerThomas Adam <thomas@xteddy.org>2015-01-16 19:17:31 +0000
commitdf6488a47088ec8bcddc6a1cfa85fec1a462c789 (patch)
treecf1bbe106963c4f0201a2edc24f8bc416f74c0ca /window-copy.c
parent66e8811c64a833b759511b3f7309e834155a8442 (diff)
parent776eef49d8e13b227d25e5d56d4c379b89c4aacb (diff)
downloadrtmux-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.c21
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;