1 #include <gtk/gtk.h>
2 
3 int
main(int argc,char ** argv)4 main (int argc, char **argv)
5 {
6   const char *display_name;
7   GdkDisplay *display;
8   GtkWidget *win, *but;
9   gboolean has_display;
10 
11   g_log_set_always_fatal (G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL);
12 
13   gdk_set_allowed_backends ("x11");
14   display_name = g_getenv ("DISPLAY");
15   g_unsetenv ("DISPLAY");
16   has_display = gtk_init_check ();
17   g_assert_false (has_display);
18 
19   display = gdk_display_open (display_name);
20 
21   if (!display)
22     return 0;
23 
24   gdk_display_manager_set_default_display (gdk_display_manager_get (), display);
25 
26   win = gtk_window_new ();
27 
28   but = gtk_button_new_with_label ("Try to Exit");
29   g_signal_connect_swapped (but, "clicked",
30                             G_CALLBACK (gtk_window_destroy), win);
31   gtk_window_set_child (GTK_WINDOW (win), but);
32 
33   gtk_widget_show (win);
34 
35   gtk_test_widget_wait_for_draw (win);
36 
37   gdk_display_close (display);
38 
39   return 0;
40 }
41