diff --git a/kitty/screen.c b/kitty/screen.c index eb6e81ed2..c1cc17dd1 100644 --- a/kitty/screen.c +++ b/kitty/screen.c @@ -5780,7 +5780,7 @@ line_edge_colors(Screen *self, PyObject *a UNUSED) { static PyObject* current_selections(Screen *self, PyObject *a UNUSED) { - PyObject *ans = PyBytes_FromStringAndSize(NULL, (Py_ssize_t)self->lines * self->columns); + PyObject *ans = PyBytes_FromStringAndSize(NULL, (Py_ssize_t)render_lines_for_screen(self) * self->columns); if (!ans) return NULL; screen_apply_selection(self, PyBytes_AS_STRING(ans), PyBytes_GET_SIZE(ans)); return ans; diff --git a/kitty_tests/multicell.py b/kitty_tests/multicell.py index cdd91185e..2a046f29b 100644 --- a/kitty_tests/multicell.py +++ b/kitty_tests/multicell.py @@ -688,7 +688,7 @@ def test_multicell(self: TestMulticell) -> None: pos = y * s.columns for x in range(x1, x2 + 1): expected[pos + x] = bp - for i, (e, a) in enumerate(zip(as_lists(bytes(expected)), as_lists(actual))): + for i, (e, a) in enumerate(zip(as_lists(bytes(expected)), as_lists(actual)[1:])): self.ae(e, a, f'Row: {i}') def ast(*expected, strip_trailing_whitespace=False, as_ansi=False):