From 7b1ab8fb8b88236645fec871da5b61112ac591c0 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Jan 2020 02:00:09 -0500 Subject: [PATCH] style tests: Show the window Not doing so somewhat defeats the point that we want to verify the regular styles, not some weird initial conditions. --- testsuite/css/style/test-css-style.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/testsuite/css/style/test-css-style.c b/testsuite/css/style/test-css-style.c index c7c0bca3aa..833cc3dc0d 100644 --- a/testsuite/css/style/test-css-style.c +++ b/testsuite/css/style/test-css-style.c @@ -98,12 +98,23 @@ done: return diff; } +static void +style_context_changed (GtkWidget *window, const char **output) +{ + GtkStyleContext *context; + + context = gtk_widget_get_style_context (window); + + *output = gtk_style_context_to_string (context, GTK_STYLE_CONTEXT_PRINT_RECURSE | + GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE); + g_main_context_wakeup (NULL); +} + static void load_ui_file (GFile *file, gboolean generate) { GtkBuilder *builder; GtkWidget *window; - GtkStyleContext *context; char *output, *diff; char *ui_file, *css_file, *reference_file; GtkCssProvider *provider; @@ -125,10 +136,13 @@ load_ui_file (GFile *file, gboolean generate) g_assert (window != NULL); - context = gtk_widget_get_style_context (window); + output = NULL; + g_signal_connect (window, "map", G_CALLBACK (style_context_changed), &output); - output = gtk_style_context_to_string (context, GTK_STYLE_CONTEXT_PRINT_RECURSE | - GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE); + gtk_widget_show (window); + + while (!output) + g_main_context_iteration (NULL, FALSE); if (generate) {