From 02cd36afb7ed8246b075577ccebad81cdc5d8358 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Jan 2020 02:00:09 -0500 Subject: testsuite: Don't print default styles This somewhat defeats the point that we want to verify the regulars styles, not some weird initial conditions. --- testsuite/css/style/test-css-style.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/testsuite/css/style/test-css-style.c b/testsuite/css/style/test-css-style.c index 24f558aaea..71e4056ee0 100644 --- a/testsuite/css/style/test-css-style.c +++ b/testsuite/css/style/test-css-style.c @@ -98,12 +98,25 @@ done: return diff; } +static void +style_context_changed (GtkWidget *window, const char **output) +{ + GtkStyleContext *context; + +g_print ("style updated\n"); + context = gtk_widget_get_style_context (window); + + *output = gtk_style_context_to_string (context, GTK_STYLE_CONTEXT_PRINT_RECURSE | + GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE | + 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,11 +138,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); + + gtk_widget_show (window); - output = gtk_style_context_to_string (context, GTK_STYLE_CONTEXT_PRINT_RECURSE | - GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE | - GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE); + while (!output) + g_main_context_iteration (NULL, FALSE); if (generate) { -- cgit v1.2.1