aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-startup-wizard.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-shell-startup-wizard.c')
-rw-r--r--shell/e-shell-startup-wizard.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/shell/e-shell-startup-wizard.c b/shell/e-shell-startup-wizard.c
index 97afc874df..9e90180704 100644
--- a/shell/e-shell-startup-wizard.c
+++ b/shell/e-shell-startup-wizard.c
@@ -385,12 +385,19 @@ connect_page (GtkWidget *page,
{
g_signal_connect (page, "next",
G_CALLBACK (next_func), data);
- g_signal_connect (page, "prepare",
- G_CALLBACK (prepare_func), data);
g_signal_connect (page, "back",
G_CALLBACK (back_func), data);
g_signal_connect (page, "finish",
G_CALLBACK (finish_func), data);
+
+ /* At least in 2.0 (and probably 2.2 too),
+ * GnomeDruidPageStandard is broken and you need to
+ * connect_after to "prepare" or else its default method will
+ * run after your signal handler and undo its button
+ * sensitivity changes.
+ */
+ g_signal_connect_after (page, "prepare",
+ G_CALLBACK (prepare_func), data);
}
static MailDialogPage *
@@ -807,8 +814,8 @@ make_importer_page (SWData *data)
page->page = glade_xml_get_widget (data->wizard, "import-page");
g_return_val_if_fail (page->page != NULL, NULL);
- g_signal_connect (page->page, "prepare",
- G_CALLBACK (prepare_importer_page), data);
+ g_signal_connect_after (page->page, "prepare",
+ G_CALLBACK (prepare_importer_page), data);
page->vbox = GNOME_DRUID_PAGE_STANDARD (page->page)->vbox;
gtk_container_set_border_width (GTK_CONTAINER (page->vbox), 4);
@@ -847,8 +854,6 @@ e_shell_startup_wizard_create (void)
SWData *data;
GSList *accounts;
- return TRUE;
-
client = gconf_client_get_default ();
accounts = gconf_client_get_list (client, "/apps/evolution/mail/accounts", GCONF_VALUE_STRING, NULL);
g_object_unref (client);