From 7fc58e704a36c4a2b30ddf2f8e0ab935b4f10b96 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Thu, 12 Dec 2019 19:12:08 +0100 Subject: [PATCH] surface: don't unref the current buffer on failure If wlr_buffer_create fails, keep the previous buffer. --- types/wlr_surface.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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; }