tests/wayland: Move out window finder helper to helper file

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2810>
This commit is contained in:
Jonas Ådahl 2023-01-27 20:49:11 +01:00 committed by Marge Bot
parent 91c40a47b3
commit 9856dac593
3 changed files with 25 additions and 14 deletions

View File

@ -21,6 +21,7 @@
#include <gio/gio.h> #include <gio/gio.h>
#include "core/display-private.h"
#include "wayland/meta-wayland.h" #include "wayland/meta-wayland.h"
struct _MetaWaylandTestClient struct _MetaWaylandTestClient
@ -114,3 +115,23 @@ meta_wayland_test_client_finish (MetaWaylandTestClient *wayland_test_client)
g_object_unref (wayland_test_client->subprocess); g_object_unref (wayland_test_client->subprocess);
g_free (wayland_test_client); g_free (wayland_test_client);
} }
MetaWindow *
meta_find_client_window (MetaContext *context,
const char *title)
{
MetaDisplay *display = meta_context_get_display (context);
g_autoptr (GSList) windows = NULL;
GSList *l;
windows = meta_display_list_windows (display, META_LIST_DEFAULT);
for (l = windows; l; l = l->next)
{
MetaWindow *window = l->data;
if (g_strcmp0 (meta_window_get_title (window), title) == 0)
return window;
}
return NULL;
}

View File

@ -27,4 +27,7 @@ MetaWaylandTestClient * meta_wayland_test_client_new (MetaContext *context,
void meta_wayland_test_client_finish (MetaWaylandTestClient *wayland_test_client); void meta_wayland_test_client_finish (MetaWaylandTestClient *wayland_test_client);
MetaWindow * meta_find_client_window (MetaContext *context,
const char *title);
#endif /* META_WAYLAND_TEST_UTILS_H */ #endif /* META_WAYLAND_TEST_UTILS_H */

View File

@ -44,20 +44,7 @@ static ClutterVirtualInputDevice *virtual_pointer;
static MetaWindow * static MetaWindow *
find_client_window (const char *title) find_client_window (const char *title)
{ {
MetaDisplay *display = meta_context_get_display (test_context); return meta_find_client_window (test_context, title);
g_autoptr (GSList) windows = NULL;
GSList *l;
windows = meta_display_list_windows (display, META_LIST_DEFAULT);
for (l = windows; l; l = l->next)
{
MetaWindow *window = l->data;
if (g_strcmp0 (meta_window_get_title (window), title) == 0)
return window;
}
return NULL;
} }
static void static void