surface: ignore viewport src rect on NULL buffer

According to the viewporter protocol:

> If the wl_buffer is NULL, the surface has no content and therefore no size.
This commit is contained in:
Simon Ser 2020-06-18 09:55:46 +02:00 committed by Drew DeVault
parent c18c419b56
commit d177abecae

View file

@ -147,6 +147,11 @@ static void surface_set_input_region(struct wl_client *client,
*/ */
static void surface_state_viewport_src_size(struct wlr_surface_state *state, static void surface_state_viewport_src_size(struct wlr_surface_state *state,
int *out_width, int *out_height) { int *out_width, int *out_height) {
if (state->buffer_width == 0 && state->buffer_height == 0) {
*out_width = *out_height = 0;
return;
}
if (state->viewport.has_src) { if (state->viewport.has_src) {
*out_width = state->viewport.src.width; *out_width = state->viewport.src.width;
*out_height = state->viewport.src.height; *out_height = state->viewport.src.height;