From 0c8ec3c57ba41fe5816cdeb347859d38e6a19165 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 15 Jan 2023 13:00:37 +0530 Subject: [PATCH] Cleanup previous PR --- kitty/screen.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/kitty/screen.c b/kitty/screen.c index 84e7c8981..97d63ed70 100644 --- a/kitty/screen.c +++ b/kitty/screen.c @@ -155,6 +155,7 @@ screen_reset(Screen *self) { if (self->linebuf == self->alt_linebuf) screen_toggle_screen_buffer(self, true, true); if (self->overlay_line.is_active) deactivate_overlay_line(self); Py_CLEAR(self->last_reported_cwd); + Py_CLEAR(self->overlay_line.save.overlay_text); self->render_unfocused_cursor = false; memset(self->main_key_encoding_flags, 0, sizeof(self->main_key_encoding_flags)); memset(self->alt_key_encoding_flags, 0, sizeof(self->alt_key_encoding_flags)); @@ -457,6 +458,7 @@ dealloc(Screen* self) { Py_CLEAR(self->marker); PyMem_Free(self->overlay_line.cpu_cells); PyMem_Free(self->overlay_line.gpu_cells); + Py_CLEAR(self->overlay_line.save.overlay_text); PyMem_Free(self->main_tabstops); free(self->pending_mode.buf); free(self->selections.items); @@ -750,9 +752,7 @@ get_overlay_text(Screen *self) { static void save_overlay_line(Screen *self, const char* func_name) { if (self->overlay_line.is_active && screen_is_cursor_visible(self)) { - if (self->overlay_line.save.overlay_text) { - Py_DECREF(self->overlay_line.save.overlay_text); - } + Py_XDECREF(self->overlay_line.save.overlay_text); self->overlay_line.save.overlay_text = get_overlay_text(self); self->overlay_line.save.func_name = func_name; deactivate_overlay_line(self); @@ -764,8 +764,7 @@ restore_overlay_line(Screen *self) { if (self->overlay_line.save.overlay_text) { debug("Received input from child (%s) while overlay active. Overlay contents: %s\n", self->overlay_line.save.func_name, PyUnicode_AsUTF8(self->overlay_line.save.overlay_text)); screen_draw_overlay_text(self, PyUnicode_AsUTF8(self->overlay_line.save.overlay_text)); - Py_DECREF(self->overlay_line.save.overlay_text); - self->overlay_line.save.overlay_text = NULL; + Py_CLEAR(self->overlay_line.save.overlay_text); update_ime_position_for_window(self->window_id, false, 0); } }