From f64182e16cb8b8170cbfb15f3d4aa9aeb8ef9f57 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 31 Jul 2025 21:24:17 +0530 Subject: [PATCH] Scroll indicator should usepremult blending whenever draw_cells_simple uses it --- kitty/shaders.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/kitty/shaders.c b/kitty/shaders.c index cf1e9de14..9cb3b6638 100644 --- a/kitty/shaders.c +++ b/kitty/shaders.c @@ -1132,16 +1132,15 @@ draw_cells(ssize_t vao_idx, const WindowRenderData *srd, OSWindow *os_window, bo scale_rendered_graphic(grd.images + i, srd->xstart, srd->ystart, crd.x_ratio, crd.y_ratio); } } - bool use_premult = false; has_underlying_image |= grd.num_of_below_refs > 0 || grd.num_of_negative_refs > 0; if (os_window->is_semi_transparent) { - if (has_underlying_image) { draw_cells_interleaved_premult(vao_idx, screen, os_window, &crd, grd, wl); use_premult = true; } + if (has_underlying_image) { draw_cells_interleaved_premult(vao_idx, screen, os_window, &crd, grd, wl); } else draw_cells_simple(vao_idx, screen, &crd, grd, os_window->is_semi_transparent); } else { if (has_underlying_image) draw_cells_interleaved(vao_idx, screen, os_window, &crd, grd, wl); else draw_cells_simple(vao_idx, screen, &crd, grd, os_window->is_semi_transparent); } - draw_scroll_indicator(use_premult, screen, &crd); + draw_scroll_indicator(os_window->is_semi_transparent, screen, &crd); if (screen->start_visual_bell_at) { GLfloat intensity = get_visual_bell_intensity(screen);