From 4bbf718e7dca39e2838cce7c07c89faffd73840a Mon Sep 17 00:00:00 2001
From: Dominique Martinet <asmadeus@codewreck.org>
Date: Mon, 14 Aug 2017 16:16:20 +0200
Subject: impl->destroy cleanup:

 - remove trivial destroy() function
 - make sure we check impl and impl->destroy before calling
 - always call free if not implemented
---
 backend/backend.c        | 4 +++-
 backend/wayland/output.c | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

(limited to 'backend')

diff --git a/backend/backend.c b/backend/backend.c
index fc8ccdb0..790a14b3 100644
--- a/backend/backend.c
+++ b/backend/backend.c
@@ -32,8 +32,10 @@ bool wlr_backend_start(struct wlr_backend *backend) {
 }
 
 void wlr_backend_destroy(struct wlr_backend *backend) {
-	if (backend->impl->destroy) {
+	if (backend->impl && backend->impl->destroy) {
 		backend->impl->destroy(backend);
+	} else {
+		free(backend);
 	}
 }
 
diff --git a/backend/wayland/output.c b/backend/wayland/output.c
index 6a7b9e54..767d1c6b 100644
--- a/backend/wayland/output.c
+++ b/backend/wayland/output.c
@@ -103,7 +103,7 @@ struct wlr_output *wlr_wl_output_create(struct wlr_backend *_backend) {
 
 	struct wlr_wl_backend_output *output;
 	if (!(output = calloc(sizeof(struct wlr_wl_backend_output), 1))) {
-		wlr_log(L_ERROR, "Failed to allocate wlr_output_state");
+		wlr_log(L_ERROR, "Failed to allocate wlr_wl_backend_output");
 		return NULL;
 	}
 	wlr_output_init(&output->wlr_output, &output_impl);
-- 
cgit v1.2.3