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: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3921>
This commit is contained in:
José Expósito 2025-03-03 12:43:47 +01:00 committed by Marge Bot
parent eb4b70baed
commit d49a5b37a9

View File

@ -510,6 +510,19 @@ send_drm_fd (struct wl_client *client,
return TRUE; 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 static void
wp_drm_lease_device_destructor (struct wl_resource *resource) 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), g_rc_box_acquire (lease_device),
wp_drm_lease_device_destructor); 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, lease_device->resources = g_list_prepend (lease_device->resources,
resource); resource);
} }