From 9522b77e84a98b2b6e22008fe9858e3e5e844e04 Mon Sep 17 00:00:00 2001 From: "Anna (navi) Figueiredo Gomes" Date: Mon, 19 May 2025 00:45:18 +0200 Subject: [PATCH] ext-foreign-toplevel-handle: split out foreign_toplevel_create_resource_for_client Signed-off-by: Anna (navi) Figueiredo Gomes --- include/types/wlr_foreign_toplevel.h | 2 ++ types/wlr_ext_foreign_toplevel_list_v1.c | 14 ++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/include/types/wlr_foreign_toplevel.h b/include/types/wlr_foreign_toplevel.h index 67b8eab10..6b808e789 100644 --- a/include/types/wlr_foreign_toplevel.h +++ b/include/types/wlr_foreign_toplevel.h @@ -4,6 +4,8 @@ #include #include +struct wl_resource *foreign_toplevel_create_resource_for_client( + struct wlr_ext_foreign_toplevel_handle_v1 *toplevel, struct wl_client *client); void foreign_toplevel_send_details_to_resource( struct wlr_ext_foreign_toplevel_handle_v1 *toplevel, struct wl_resource *resource); diff --git a/types/wlr_ext_foreign_toplevel_list_v1.c b/types/wlr_ext_foreign_toplevel_list_v1.c index c0954cac0..5a6ea71ed 100644 --- a/types/wlr_ext_foreign_toplevel_list_v1.c +++ b/types/wlr_ext_foreign_toplevel_list_v1.c @@ -113,10 +113,8 @@ static void foreign_toplevel_resource_destroy(struct wl_resource *resource) { wl_list_remove(wl_resource_get_link(resource)); } -static struct wl_resource *create_toplevel_resource_for_resource( - struct wlr_ext_foreign_toplevel_handle_v1 *toplevel, - struct wl_resource *list_resource) { - struct wl_client *client = wl_resource_get_client(list_resource); +struct wl_resource *foreign_toplevel_create_resource_for_client( + struct wlr_ext_foreign_toplevel_handle_v1 *toplevel, struct wl_client *client) { struct wl_resource *resource = wl_resource_create(client, &ext_foreign_toplevel_handle_v1_interface, toplevel->version, 0); if (!resource) { @@ -128,6 +126,14 @@ static struct wl_resource *create_toplevel_resource_for_resource( foreign_toplevel_resource_destroy); wl_list_insert(&toplevel->resources, wl_resource_get_link(resource)); + return resource; +} + +static struct wl_resource *create_toplevel_resource_for_resource( + struct wlr_ext_foreign_toplevel_handle_v1 *toplevel, + struct wl_resource *list_resource) { + struct wl_resource *resource = foreign_toplevel_create_resource_for_client( + toplevel, wl_resource_get_client(list_resource)); ext_foreign_toplevel_list_v1_send_toplevel(list_resource, resource); return resource; }