1 #include <gtk/gtk.h> 2 3 int main(int argc,char ** argv)4main (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