diff --git a/types/wlr_surface.c b/types/wlr_surface.c index 9503b8d4..f44ec53e 100644 --- a/types/wlr_surface.c +++ b/types/wlr_surface.c @@ -296,15 +296,13 @@ static void surface_apply_damage(struct wlr_surface *surface) { } } - wlr_buffer_unref(surface->buffer); - surface->buffer = NULL; - struct wlr_buffer *buffer = wlr_buffer_create(surface->renderer, resource); if (buffer == NULL) { wlr_log(WLR_ERROR, "Failed to upload buffer"); return; } + wlr_buffer_unref(surface->buffer); surface->buffer = buffer; }