fix: damage issues on broken wayland compositors

wayneko does not seem to properly clean its own buffer
which is not a problem as long as the compositor does
proper damage tracking for the surface

for some reason however, the current version of hyprland
does not do damage tracking anymore which is why this
patch just cleans the buffer properly which fixes the
issue for wayneko at least
This commit is contained in:
Virt 2025-03-18 19:37:58 +01:00
commit 3dc3ff4894

View file

@ -1126,11 +1126,13 @@ static void surface_next_frame (void)
if ( buffer == NULL ) if ( buffer == NULL )
return; return;
// we have to make the region a bit bigger because we are double buffering
// just clearing the last position is not enough
pixman_image_fill_rectangles( pixman_image_fill_rectangles(
PIXMAN_OP_CLEAR, buffer->pixman_image, &bg_colour, PIXMAN_OP_CLEAR, buffer->pixman_image, &bg_colour,
1, &(pixman_rectangle16_t){ 1, &(pixman_rectangle16_t){
(int16_t)surface.prev_neko_x, (int16_t)0, (int16_t)surface.prev_neko_x - neko_size, (int16_t)0,
(uint16_t)neko_size, (uint16_t)neko_size, (uint16_t)neko_size * 3, (uint16_t)neko_size,
} }
); );
atlas_composite_neko(buffer, current_neko, surface.neko_x, 0); atlas_composite_neko(buffer, current_neko, surface.neko_x, 0);