scene: ensure layer surface usable area >0

Clients may, for example, commit an exclusive zone larger than the
output dimensions. Compositors must handle this gracefully, which likely
requires more work on the compositor side but returning a usable area
with negative width or height in wlr_scene_layer_surface_v1_configure()
is nonsensical.
This commit is contained in:
Isaac Freund 2024-04-16 11:39:08 +02:00
parent b1b34cd665
commit cb01c63a8d
No known key found for this signature in database
GPG Key ID: 86DED400DDFD7A11

View File

@ -70,6 +70,13 @@ static void layer_surface_exclusive_zone(
usable_area->width -= state->exclusive_zone + state->margin.right; usable_area->width -= state->exclusive_zone + state->margin.right;
break; break;
} }
if (usable_area->width < 0) {
usable_area->width = 0;
}
if (usable_area->height < 0) {
usable_area->height = 0;
}
} }
void wlr_scene_layer_surface_v1_configure( void wlr_scene_layer_surface_v1_configure(