diff options
-rw-r--r-- | testsuite/gtk/test-focus-chain.c | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/testsuite/gtk/test-focus-chain.c b/testsuite/gtk/test-focus-chain.c index 63484ee1a5..c89e276126 100644 --- a/testsuite/gtk/test-focus-chain.c +++ b/testsuite/gtk/test-focus-chain.c @@ -67,6 +67,26 @@ check_focus_states (GtkWidget *focus_widget) } } +static gboolean +quit_iteration_loop (gpointer user_data) +{ + gboolean *keep_running = user_data; + + *keep_running = FALSE; + + return G_SOURCE_REMOVE; +} + +static void +wait (guint millis) +{ + gboolean keep_running = TRUE; + + g_timeout_add (millis, quit_iteration_loop, &keep_running); + while (keep_running) + g_main_context_iteration (NULL, TRUE); +} + static char * generate_focus_chain (GtkWidget *window, GtkDirectionType dir) @@ -125,6 +145,7 @@ generate_focus_chain (GtkWidget *window, } g_string_append_printf (output, "%s\n", name); + wait (100); count++; if (!first) @@ -171,16 +192,6 @@ get_dir_for_file (const char *path) } static gboolean -quit_iteration_loop (gpointer user_data) -{ - gboolean *keep_running = user_data; - - *keep_running = FALSE; - - return G_SOURCE_REMOVE; -} - -static gboolean load_ui_file (GFile *ui_file, GFile *ref_file, const char *ext) |