From 8e831f9b2e461c94a8ee0e229812bcf2d42ae2a5 Mon Sep 17 00:00:00 2001 From: Marcus Fritzsch Date: Wed, 5 Jul 2017 16:23:17 +0200 Subject: [PATCH] Check for g_wayland in every API call. Signed-off-by: Marcus Fritzsch --- src/main.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 13e6ab2..f5d33c7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -179,6 +179,15 @@ int binding_init() noexcept { return -1; } +#define CHECK_WAYLAND() \ + do { \ + if (g_wayland == nullptr) { \ + afb_req_fail(req, "failed", \ + "Binding not initialized, did the compositor die?"); \ + return; \ + } \ + } while (0) + // _ _ _ _ ____ // __| | ___| |__ _ _ __ _ ___| |_ __ _| |_ _ _ ___ / /\ \ // / _` |/ _ \ '_ \| | | |/ _` | / __| __/ _` | __| | | / __| | | | @@ -189,11 +198,7 @@ void debug_status(struct afb_req req) noexcept { // Quick and dirty, dump current surfaces and layers AFB_REQ_DEBUG(req, "status"); - if (g_wayland == nullptr) { - afb_req_fail(req, "failed", - "Binding not initialized, did the compositor die?"); - return; - } + CHECK_WAYLAND(); try { json j; @@ -229,6 +234,8 @@ void debug_status(struct afb_req req) noexcept { } void debug_surfaces(afb_req req) { + CHECK_WAYLAND(); + auto a = json_object_new_array(); if (!g_wayland->controller->surfaces.empty()) { @@ -241,6 +248,8 @@ void debug_surfaces(afb_req req) { } void debug_layers(afb_req req) { + CHECK_WAYLAND(); + auto a = json_object_new_array(); if (!g_wayland->controller->layers.empty()) { -- 2.16.6