aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--types/wlr_surface.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/types/wlr_surface.c b/types/wlr_surface.c
index 57732649..5c594889 100644
--- a/types/wlr_surface.c
+++ b/types/wlr_surface.c
@@ -142,8 +142,12 @@ static void surface_set_input_region(struct wl_client *client,
static void surface_state_finalize(struct wlr_surface *surface,
struct wlr_surface_state *state) {
if ((state->committed & WLR_SURFACE_STATE_BUFFER)) {
- wlr_buffer_get_resource_size(state->buffer, surface->renderer,
- &state->buffer_width, &state->buffer_height);
+ if (state->buffer != NULL) {
+ wlr_buffer_get_resource_size(state->buffer, surface->renderer,
+ &state->buffer_width, &state->buffer_height);
+ } else {
+ state->buffer_width = state->buffer_height = 0;
+ }
}
int width = state->buffer_width / state->scale;