diff --git a/kitty/glfw.c b/kitty/glfw.c index 837887bf4..00211e76c 100644 --- a/kitty/glfw.c +++ b/kitty/glfw.c @@ -816,8 +816,11 @@ is_mouse_hidden(OSWindow *w) { void -swap_window_buffers(OSWindow *w) { - glfwSwapBuffers(w->handle); +swap_window_buffers(OSWindow *os_window) { + glfwSwapBuffers(os_window->handle); + // ensure all pixels are cleared to background color at least once in the + // new buffer + if (os_window->clear_count++ < 2) blank_os_window(os_window); } void diff --git a/kitty/shaders.c b/kitty/shaders.c index 1f3f1c1c3..ae18fb16f 100644 --- a/kitty/shaders.c +++ b/kitty/shaders.c @@ -437,11 +437,6 @@ blank_os_window(OSWindow *os_window) { bool send_cell_data_to_gpu(ssize_t vao_idx, ssize_t gvao_idx, GLfloat xstart, GLfloat ystart, GLfloat dx, GLfloat dy, Screen *screen, OSWindow *os_window) { bool changed = false; - if (os_window->clear_count < 2) { - os_window->clear_count++; - blank_os_window(os_window); - changed = true; - } if (os_window->fonts_data) { if (cell_prepare_to_render(vao_idx, gvao_idx, screen, xstart, ystart, dx, dy, os_window->fonts_data)) changed = true; }