summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJonas Ã…dahl <jadahl@gmail.com>2023-01-27 20:50:50 +0100
committerMarge Bot <marge-bot@gnome.org>2023-02-13 15:34:24 +0000
commit5d888f2df65070b4d7fda1be82d216f22cb4ec18 (patch)
tree73b0ed06b22f97434005a1e19616ca648ef3f1b9 /src
parent337ade622ce859ec7a7618365ba91ae356153109 (diff)
downloadmutter-5d888f2df65070b4d7fda1be82d216f22cb4ec18.tar.gz
tests/wayland-client-utils: Add way to create display from fd
Allows for more complex connection management. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2810>
Diffstat (limited to 'src')
-rw-r--r--src/tests/wayland-test-clients/wayland-test-client-utils.c15
-rw-r--r--src/tests/wayland-test-clients/wayland-test-client-utils.h3
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, &registry_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,