viewporter: fix "has buffer" check

Previously, cases when a viewport source box was updated without attaching
a buffer weren't checked for correctness properly because the state's buffer
would be NULL. Use wlr_surface_state_has_buffer() instead.

(cherry picked from commit 072f6ed977)
This commit is contained in:
Kirill Primak 2024-03-23 23:33:14 +03:00 committed by Simon Zeni
parent 19aaaff429
commit 0f040dfc38

View file

@ -160,7 +160,7 @@ static void viewport_handle_surface_client_commit(struct wl_listener *listener,
return;
}
if (state->viewport.has_src && state->buffer != NULL &&
if (state->viewport.has_src && state->buffer_width > 0 && state->buffer_height > 0 &&
!check_src_buffer_bounds(state)) {
wl_resource_post_error(viewport->resource, WP_VIEWPORT_ERROR_OUT_OF_BUFFER,
"source rectangle out of buffer bounds");