summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--testsuite/gtk/test-focus-chain.c31
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)