diff --git a/kitty/data-types.h b/kitty/data-types.h index bc9f23750..b8977be23 100644 --- a/kitty/data-types.h +++ b/kitty/data-types.h @@ -279,8 +279,9 @@ PyObject* parse_bytes_dump(PyObject UNUSED *, PyObject *); PyObject* parse_bytes(PyObject UNUSED *, PyObject *); uint16_t* translation_table(char); uint32_t decode_utf8(uint32_t*, uint32_t*, uint8_t byte); -Savepoint* savepoints_pop(SavepointBuffer *pts); -Savepoint* savepoints_push(SavepointBuffer *pts); +Savepoint* savepoints_pop(SavepointBuffer *); +Savepoint* savepoints_push(SavepointBuffer *); +void savepoints_init(SavepointBuffer *); void cursor_reset(Cursor*); Cursor* cursor_copy(Cursor*); void cursor_copy_to(Cursor *src, Cursor *dest); diff --git a/kitty/savepoints.c b/kitty/savepoints.c index 53cdac746..8362cb696 100644 --- a/kitty/savepoints.c +++ b/kitty/savepoints.c @@ -24,3 +24,8 @@ Savepoint* savepoints_pop(SavepointBuffer *self) { RETREAT(end_of_data); return self->end_of_data; } + +void savepoints_init(SavepointBuffer *self) { + self->end_of_data = self->buf; + self->start_of_data = self->buf; +} diff --git a/kitty/screen.c b/kitty/screen.c index 9bc5d7bfa..418f700c5 100644 --- a/kitty/screen.c +++ b/kitty/screen.c @@ -39,6 +39,7 @@ new(PyTypeObject *type, PyObject *args, PyObject UNUSED *kwds) { if (self->cursor == NULL || self->main_linebuf == NULL || self->alt_linebuf == NULL || self->change_tracker == NULL || self->tabstops == NULL) { Py_CLEAR(self); return NULL; } + savepoints_init(&self->main_savepoints); savepoints_init(&self->alt_savepoints); } return (PyObject*) self; }