On Mon, Oct 12, 2009 at 09:58:45AM +0800, Andy Stewart wrote: > Hi all, > > I have problem with function `gtk_window_set_transient_for`, > I use gtk2hs (Haskell binding for Gtk+), > so don't care gtk2hs binding problem and Haskell code format, you can test my problem in C code. I tried to test in C code... > I have two window: `windowA` and `windowB`, I want make `windowB` > keep above `windowA` and make `windowB` modal, `windowA` has created. > > ------------------------------> code start <------------------------------ > windowB <- windowNew > windowSetTransientFor windowB windowA > windowSetModal windowB True > ------------------------------> code end <------------------------------ > > But above code can't work, `windowB` don't display anything, `windowB` display blank. ...and it works exactly as it should. #include <gtk/gtk.h> int main(int argc, char *argv[]) { GtkWidget *windowA, *windowB, *entry; gtk_init(&argc, &argv); windowA = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(windowA), 300, 240); g_signal_connect(windowA, "destroy", G_CALLBACK(gtk_main_quit), NULL); entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(entry), "Window A"); gtk_container_add(GTK_CONTAINER(windowA), entry); gtk_widget_show_all(windowA); windowB = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(windowB), 200, 160); gtk_window_set_transient_for(GTK_WINDOW(windowB), GTK_WINDOW(windowA)); gtk_window_set_position(GTK_WINDOW(windowB), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_modal(GTK_WINDOW(windowB), TRUE); entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(entry), "Window B"); gtk_container_add(GTK_CONTAINER(windowB), entry); gtk_widget_show_all(windowB); gtk_main(); return 0; } Yeti _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list