From d49a5b37a9a6a78b9dab9245397b4bd25c322fa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= Date: Mon, 3 Mar 2025 12:43:47 +0100 Subject: [PATCH] wayland/drm-lease: Move on device bind events to a function Now that sending a drm_fd can fail, wrap the on device bind events (drm_fd, connector and done) in their own function. Refactor, no function changes. Part-of: --- src/wayland/meta-wayland-drm-lease.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/wayland/meta-wayland-drm-lease.c b/src/wayland/meta-wayland-drm-lease.c index f85588b5a..f69eecda8 100644 --- a/src/wayland/meta-wayland-drm-lease.c +++ b/src/wayland/meta-wayland-drm-lease.c @@ -510,6 +510,19 @@ send_drm_fd (struct wl_client *client, return TRUE; } +static gboolean +send_on_device_bind_events (struct wl_client *client, + MetaWaylandDrmLeaseDevice *lease_device, + struct wl_resource *device_resource) +{ + if (!send_drm_fd (client, lease_device, device_resource)) + return FALSE; + + send_connectors (lease_device, device_resource); + wp_drm_lease_device_v1_send_done (device_resource); + return TRUE; +} + static void wp_drm_lease_device_destructor (struct wl_resource *resource) { @@ -538,11 +551,8 @@ lease_device_bind (struct wl_client *client, g_rc_box_acquire (lease_device), wp_drm_lease_device_destructor); - if (send_drm_fd (client, lease_device, resource)) + if (send_on_device_bind_events (client, lease_device, resource)) { - send_connectors (lease_device, resource); - wp_drm_lease_device_v1_send_done (resource); - lease_device->resources = g_list_prepend (lease_device->resources, resource); }