The Saltydog wrote:

>I have an annoying problem...
>
>Open a GtkFileChooserDialog, select the file, click "Open"... then
>execute a time-demanding subroutine. The dialog doesn't close until
>the subroutine exists.
>
>This is a snap of the code:
> ******************************************************
>if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
>       {
>       char *filename;
>
>       filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
>       my_subroutine(filename)
>       g_free (filename);
>               gtk_widget_destroy (dialog);
>       }
>       
>       gtk_widget_destroy (dialog);
>***********************************************************
>
>the dialog stays open until my_subroutine returns and as the sub is a
>very long time-demanding sub, it is annoying to see the dialog stuck
>opened..
>  
>
If you only call the function to destroy the dialog after your long
subroutine, it will only be destroyed after the subroutine, naturally.
You must call gtk_widget_destroy before calling the subroutine. Besides,
it might be necessary to use a while (gtk_events_pending())
gtk_main_iteration(); loop after the destruction for the widget to be
removed from the screen, but I'm not completely sure. But try it.

-- 
Don't look now, but the man in the moon is laughing at you.

Eduardo M KALINOWSKI
[EMAIL PROTECTED]
http://move.to/hpkb

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to