testsuite: Actually wait for focus
authorMatthias Clasen <mclasen@redhat.com>
Sun, 16 Apr 2023 07:11:24 +0000 (09:11 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 21 Apr 2023 07:23:02 +0000 (09:23 +0200)
We were failing to properly iterate the main
context here. Oops.

testsuite/gtk/test-focus-chain.c

index 3846ac525da1d4e18339707dc6213d868ba66f2f..0ab28caee91a5a864cff2577a7f1eec15f5b1a83 100644 (file)
@@ -208,14 +208,14 @@ load_ui_file (GFile *ui_file,
   timeout_handle_id = g_timeout_add (2000,
                                      quit_iteration_loop,
                                      &keep_running);
-  while (keep_running)
-    {
-      if (!g_main_context_iteration (NULL, FALSE))
-        break;
-    }
+  while (keep_running && !gtk_window_is_active (GTK_WINDOW (window)))
+    g_main_context_iteration (NULL, TRUE);
+
   if (keep_running)
     g_source_remove (timeout_handle_id);
 
+  g_assert (gtk_window_is_active (GTK_WINDOW (window)));
+
   if (ext)
     {
       int i;