diff options
author | nicm <nicm> | 2017-08-29 20:26:25 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-08-29 20:26:25 +0000 |
commit | a7d1ee5433825c6e09877751a751aa0d9bd27b0d (patch) | |
tree | a412a24c57d2ba4da4547777dd4af625fc0a98a2 | |
parent | 5fc0be50450e750c374e22345005e98011fa6465 (diff) | |
download | rtmux-a7d1ee5433825c6e09877751a751aa0d9bd27b0d.tar.gz rtmux-a7d1ee5433825c6e09877751a751aa0d9bd27b0d.tar.bz2 rtmux-a7d1ee5433825c6e09877751a751aa0d9bd27b0d.zip |
Redraw rectangle selections properly when cursor at end, GitHub issue 992.
-rw-r--r-- | window-copy.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/window-copy.c b/window-copy.c index cd77a89c..4bd9d127 100644 --- a/window-copy.c +++ b/window-copy.c @@ -1508,10 +1508,17 @@ window_copy_update_selection(struct window_pane *wp, int may_redraw) * of lines, and redraw just past that in both directions */ cy = data->cy; - if (sy < cy) - window_copy_redraw_lines(wp, sy, cy - sy + 1); - else - window_copy_redraw_lines(wp, cy, sy - cy + 1); + if (data->cursordrag == CURSORDRAG_ENDSEL) { + if (sy < cy) + window_copy_redraw_lines(wp, sy, cy - sy + 1); + else + window_copy_redraw_lines(wp, cy, sy - cy + 1); + } else { + if (endsy < cy) + window_copy_redraw_lines(wp, endsy, cy - endsy + 1); + else + window_copy_redraw_lines(wp, cy, endsy - cy + 1); + } } return (1); |