From 11d073ab099e4ee5a80c399385650d315d453e3e Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 7 Oct 2022 18:18:48 +0200 Subject: [PATCH] drm-lease-v1: send finished event on failure in submit request If the "submit" request handler fails, send a "finished" event so that the client doesn't stall forever. --- types/wlr_drm_lease_v1.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/types/wlr_drm_lease_v1.c b/types/wlr_drm_lease_v1.c index 05d2520b..b9eb373c 100644 --- a/types/wlr_drm_lease_v1.c +++ b/types/wlr_drm_lease_v1.c @@ -322,12 +322,14 @@ static void drm_lease_request_v1_handle_submit( drm_lease_request_v1_from_resource(resource); if (!request) { wlr_log(WLR_DEBUG, "Request has been destroyed"); + wp_drm_lease_v1_send_finished(lease_resource); return; } /* Pre-emptively reject invalid lease requests */ if (request->invalid) { wlr_log(WLR_ERROR, "Invalid request"); + wp_drm_lease_v1_send_finished(lease_resource); return; } else if (request->n_connectors == 0) { wl_resource_post_error(lease_resource, @@ -341,6 +343,7 @@ static void drm_lease_request_v1_handle_submit( if (conn->active_lease) { wlr_log(WLR_ERROR, "Failed to create lease, connector %s has " "already been leased", conn->output->name); + wp_drm_lease_v1_send_finished(lease_resource); return; } }