summaryrefslogtreecommitdiff
path: root/tests/testadjustsize.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-02-09 22:24:47 -0500
committerMatthias Clasen <mclasen@redhat.com>2020-02-09 23:12:32 -0500
commita6c54669007f3932d6e2813e618bb106579fd28f (patch)
tree13835ffeb8a11f13a6fc142023050a6bac0f9354 /tests/testadjustsize.c
parentc78971165215ca749af68c3f6f16fb7eca08e142 (diff)
downloadgtk+-a6c54669007f3932d6e2813e618bb106579fd28f.tar.gz
Stop using gtk_main and gtk_main_quit
Replace these calls with direct use of GMainContext api.
Diffstat (limited to 'tests/testadjustsize.c')
-rw-r--r--tests/testadjustsize.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/tests/testadjustsize.c b/tests/testadjustsize.c
index 7bcb86215f..4d03a8ff0e 100644
--- a/tests/testadjustsize.c
+++ b/tests/testadjustsize.c
@@ -30,6 +30,7 @@ enum {
TEST_WIDGET_LAST
};
+static gboolean done = FALSE;
static GtkWidget *test_widgets[TEST_WIDGET_LAST];
static GtkWidget*
@@ -58,6 +59,17 @@ create_button (void)
}
static void
+quit_cb (GtkWidget *widget,
+ gpointer data)
+{
+ gboolean *done = data;
+
+ *done = TRUE;
+
+ g_main_context_wakeup (NULL);
+}
+
+static void
open_test_window (void)
{
GtkWidget *grid;
@@ -66,7 +78,7 @@ open_test_window (void)
test_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (test_window), "Tests");
- g_signal_connect (test_window, "destroy", G_CALLBACK (gtk_main_quit), test_window);
+ g_signal_connect (test_window, "destroy", G_CALLBACK (quit_cb), &done);
gtk_window_set_resizable (GTK_WINDOW (test_window), FALSE);
@@ -131,7 +143,7 @@ open_control_window (void)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Controls");
- g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+ g_signal_connect (window, "destroy", G_CALLBACK (quit_cb), &done);
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box);
@@ -230,7 +242,7 @@ open_alignment_window (void)
test_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (test_window), "Alignment");
- g_signal_connect (test_window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+ g_signal_connect (test_window, "destroy", G_CALLBACK (quit_cb), &done);
gtk_window_set_resizable (GTK_WINDOW (test_window), TRUE);
gtk_window_set_default_size (GTK_WINDOW (test_window), 500, 500);
@@ -291,7 +303,7 @@ open_margin_window (void)
test_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (test_window), "Margin");
- g_signal_connect (test_window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+ g_signal_connect (test_window, "destroy", G_CALLBACK (quit_cb), &done);
gtk_window_set_resizable (GTK_WINDOW (test_window), TRUE);
@@ -317,7 +329,7 @@ open_valigned_label_window (void)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- g_signal_connect (test_window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+ g_signal_connect (test_window, "destroy", G_CALLBACK (quit_cb), &done);
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_widget_show (box);
@@ -372,7 +384,8 @@ main (int argc, char *argv[])
open_margin_window ();
open_valigned_label_window ();
- gtk_main ();
+ while (!done)
+ g_main_context_iteration (NULL, TRUE);
return 0;
}