aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-callbacks.c
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@gnu.org>2001-01-12 12:25:40 +0800
committerMiguel de Icaza <miguel@src.gnome.org>2001-01-12 12:25:40 +0800
commit834325ad2b1b59d1e27dc20fe4922cb41c3717b5 (patch)
tree73a7ffc71e0261cec8f0146876513434530e6fb3 /mail/mail-callbacks.c
parent7a46e7a66e098dd72af68ea279d2eb1036b6f29a (diff)
downloadgsoc2013-evolution-834325ad2b1b59d1e27dc20fe4922cb41c3717b5.tar
gsoc2013-evolution-834325ad2b1b59d1e27dc20fe4922cb41c3717b5.tar.gz
gsoc2013-evolution-834325ad2b1b59d1e27dc20fe4922cb41c3717b5.tar.bz2
gsoc2013-evolution-834325ad2b1b59d1e27dc20fe4922cb41c3717b5.tar.lz
gsoc2013-evolution-834325ad2b1b59d1e27dc20fe4922cb41c3717b5.tar.xz
gsoc2013-evolution-834325ad2b1b59d1e27dc20fe4922cb41c3717b5.tar.zst
gsoc2013-evolution-834325ad2b1b59d1e27dc20fe4922cb41c3717b5.zip
Force finalization of the function before returning fixing the FIXME that
2001-01-11 Miguel de Icaza <miguel@gnu.org> * mail-callbacks.c (configure_mail): Force finalization of the function before returning fixing the FIXME that was there. svn path=/trunk/; revision=7429
Diffstat (limited to 'mail/mail-callbacks.c')
-rw-r--r--mail/mail-callbacks.c33
1 files changed, 23 insertions, 10 deletions
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index 7943e27443..b691fbe591 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -65,6 +65,12 @@ struct post_send_data {
};
static void
+druid_destroyed (void)
+{
+ gtk_main_quit ();
+}
+
+static void
configure_mail (FolderBrowser *fb)
{
MailConfigDruid *druid;
@@ -72,21 +78,28 @@ configure_mail (FolderBrowser *fb)
if (fb) {
GtkWidget *dialog;
- dialog = gnome_message_box_new (_("You have not configured the mail client.\n"
- "You need to do this before you can send,\n"
- "receive or compose mail.\n"
- "Would you like to configure it now?"),
- GNOME_MESSAGE_BOX_QUESTION,
- GNOME_STOCK_BUTTON_YES,
- GNOME_STOCK_BUTTON_NO, NULL);
- gnome_dialog_set_parent (GNOME_DIALOG (dialog),
- GTK_WINDOW (gtk_widget_get_ancestor (GTK_WIDGET (fb), GTK_TYPE_WINDOW)));
+ dialog = gnome_message_box_new (
+ _("You have not configured the mail client.\n"
+ "You need to do this before you can send,\n"
+ "receive or compose mail.\n"
+ "Would you like to configure it now?"),
+ GNOME_MESSAGE_BOX_QUESTION,
+ GNOME_STOCK_BUTTON_YES,
+ GNOME_STOCK_BUTTON_NO, NULL);
+
+ gnome_dialog_set_parent (
+ GNOME_DIALOG (dialog),
+ GTK_WINDOW (gtk_widget_get_ancestor (
+ GTK_WIDGET (fb), GTK_TYPE_WINDOW)));
switch (gnome_dialog_run_and_close (GNOME_DIALOG (dialog))) {
case 0:
- /* FIXME: should we block until mail-config is done? */
druid = mail_config_druid_new (fb->shell);
+ gtk_signal_connect (GTK_OBJECT (druid), "destroy",
+ GTK_SIGNAL_FUNC (druid_destroyed), NULL);
gtk_widget_show (GTK_WIDGET (druid));
+ gtk_grab_add (GTK_WIDGET (druid));
+ gtk_main ();
break;
case 1:
default: