=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/window-copy.c,v retrieving revision 1.277 retrieving revision 1.278 diff -c -r1.277 -r1.278 *** src/usr.bin/tmux/window-copy.c 2020/04/17 08:03:22 1.277 --- src/usr.bin/tmux/window-copy.c 2020/04/17 14:06:42 1.278 *************** *** 1,4 **** ! /* $OpenBSD: window-copy.c,v 1.277 2020/04/17 08:03:22 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: window-copy.c,v 1.278 2020/04/17 14:06:42 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 314,327 **** break; sy--; } screen_init(dst, screen_size_x(src), sy, screen_hlimit(src)); grid_duplicate_lines(dst->grid, 0, src->grid, 0, sy); dst->grid->sy = sy - screen_hsize(src); dst->grid->hsize = screen_hsize(src); dst->grid->hscrolled = src->grid->hscrolled; ! dst->cx = src->cx; ! dst->cy = src->cy; screen_resize_cursor(dst, screen_size_x(hint), screen_size_y(hint), 1, 0, cx, cy); --- 314,335 ---- break; sy--; } + log_debug("%s: target screen is %ux%u, source %ux%u", __func__, + screen_size_x(src), sy, screen_size_x(hint), + screen_hsize(src) + screen_size_y(src)); screen_init(dst, screen_size_x(src), sy, screen_hlimit(src)); grid_duplicate_lines(dst->grid, 0, src->grid, 0, sy); dst->grid->sy = sy - screen_hsize(src); dst->grid->hsize = screen_hsize(src); dst->grid->hscrolled = src->grid->hscrolled; ! if (src->cy > dst->grid->sy - 1) { ! dst->cx = 0; ! dst->cy = dst->grid->sy - 1; ! } else { ! dst->cx = src->cx; ! dst->cy = src->cy; ! } screen_resize_cursor(dst, screen_size_x(hint), screen_size_y(hint), 1, 0, cx, cy);