From 5d888f2df65070b4d7fda1be82d216f22cb4ec18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Fri, 27 Jan 2023 20:50:50 +0100 Subject: [PATCH] tests/wayland-client-utils: Add way to create display from fd Allows for more complex connection management. Part-of: --- .../wayland-test-client-utils.c | 15 ++++++++++++--- .../wayland-test-client-utils.h | 3 +++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/tests/wayland-test-clients/wayland-test-client-utils.c b/src/tests/wayland-test-clients/wayland-test-client-utils.c index 06c963f52..96c7c273f 100644 --- a/src/tests/wayland-test-clients/wayland-test-client-utils.c +++ b/src/tests/wayland-test-clients/wayland-test-client-utils.c @@ -219,17 +219,19 @@ static const struct wl_registry_listener registry_listener = { }; WaylandDisplay * -wayland_display_new (WaylandDisplayCapabilities capabilities) +wayland_display_new_full (WaylandDisplayCapabilities capabilities, + struct wl_display *wayland_display) { WaylandDisplay *display; + g_assert_nonnull (wayland_display); + display = g_object_new (wayland_display_get_type (), NULL); display->capabilities = capabilities; display->properties = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); - display->display = wl_display_connect (NULL); - g_assert_nonnull (display->display); + display->display = wayland_display; display->registry = wl_display_get_registry (display->display); wl_registry_add_listener (display->registry, ®istry_listener, display); @@ -250,6 +252,13 @@ wayland_display_new (WaylandDisplayCapabilities capabilities) return display; } +WaylandDisplay * +wayland_display_new (WaylandDisplayCapabilities capabilities) +{ + return wayland_display_new_full (capabilities, + wl_display_connect (NULL)); +} + static void wayland_display_finalize (GObject *object) { diff --git a/src/tests/wayland-test-clients/wayland-test-client-utils.h b/src/tests/wayland-test-clients/wayland-test-client-utils.h index 1b926e994..8508ae5a5 100644 --- a/src/tests/wayland-test-clients/wayland-test-client-utils.h +++ b/src/tests/wayland-test-clients/wayland-test-client-utils.h @@ -60,6 +60,9 @@ int create_anonymous_file (off_t size); WaylandDisplay * wayland_display_new (WaylandDisplayCapabilities capabilities); +WaylandDisplay * wayland_display_new_full (WaylandDisplayCapabilities capabilities, + struct wl_display *wayland_display); + WaylandSurface * wayland_surface_new (WaylandDisplay *display, const char *title, int default_width,