diff options
Diffstat (limited to 'tests/testcellrenderertext.c')
-rw-r--r-- | tests/testcellrenderertext.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/tests/testcellrenderertext.c b/tests/testcellrenderertext.c index 4c35f13ef8..eaa41c47c5 100644 --- a/tests/testcellrenderertext.c +++ b/tests/testcellrenderertext.c @@ -246,6 +246,17 @@ create_tree (gboolean rtl) return sw; } +static void +quit_cb (GtkWidget *widget, + gpointer data) +{ + gboolean *done = data; + + *done = TRUE; + + g_main_context_wakeup (NULL); +} + int main (int argc, char **argv) { @@ -253,12 +264,13 @@ main (int argc, char **argv) GtkWidget *vbox; GtkWidget *label; GtkWidget *tree; + gboolean done = FALSE; gtk_init (); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (window, "destroy", - G_CALLBACK (gtk_main_quit), NULL); + G_CALLBACK (quit_cb), &done); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -282,7 +294,9 @@ main (int argc, char **argv) gtk_container_add (GTK_CONTAINER (vbox), tree); gtk_widget_show (window); - gtk_main (); + + while (!done) + g_main_context_iteration (NULL, TRUE); return 0; } |