Index: mail/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/mail/ChangeLog,v
retrieving revision 1.2393
diff -u -3 -r1.2393 ChangeLog
--- mail/ChangeLog	18 Sep 2002 04:14:54 -0000	1.2393
+++ mail/ChangeLog	18 Sep 2002 05:01:37 -0000
@@ -1,5 +1,9 @@
 2002-09-18  Not Zed  <NotZed@Ximian.com>
 
+	* mail-config-druid.c (wizard_back_cb): If going back from a page
+	past our end (i.e. the final page), jump to the last page we know
+	of.  For #29293.
+
 	* component-factory.c (notify_listener_exception): helper to map a
 	camel excpeiton to a listener result.
 	(storage_create_folder): Use above to return more meaningful error.
Index: mail/mail-config-druid.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/mail-config-druid.c,v
retrieving revision 1.77
diff -u -3 -r1.77 mail-config-druid.c
--- mail/mail-config-druid.c	23 Aug 2002 18:08:35 -0000	1.77
+++ mail/mail-config-druid.c	18 Sep 2002 05:01:38 -0000
@@ -941,7 +941,9 @@
                 int page_num,
                 MailConfigWizard *gui) 
 {
-        if (wizard_pages[page_num].back_func == NULL
+	if (page_num >= 5)
+		evolution_wizard_set_page(wizard, 4, NULL);
+        else if (wizard_pages[page_num].back_func == NULL
 	    || !(wizard_pages[page_num].back_func (wizard, gui))) {
 		if (page_num > 0)
 			evolution_wizard_set_page(wizard, page_num-1, NULL);
Index: shell/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/shell/ChangeLog,v
retrieving revision 1.1031
diff -u -3 -r1.1031 ChangeLog
--- shell/ChangeLog	17 Sep 2002 20:52:02 -0000	1.1031
+++ shell/ChangeLog	18 Sep 2002 05:02:09 -0000
@@ -1,3 +1,8 @@
+2002-09-18  Not Zed  <NotZed@Ximian.com>
+
+	* evolution-wizard.c (impl_GNOME_Evolution_Wizard_notifyAction):
+	Allow 'back' to run if we're on the finish page.  For #29293.
+
 2002-09-17  Ettore Perazzoli  <ettore@ximian.com>
 
 	* e-storage.c (e_storage_result_to_string): Add description for
Index: shell/evolution-wizard.c
===================================================================
RCS file: /cvs/gnome/evolution/shell/evolution-wizard.c,v
retrieving revision 1.3
diff -u -3 -r1.3 evolution-wizard.c
--- shell/evolution-wizard.c	25 Oct 2001 18:25:17 -0000	1.3
+++ shell/evolution-wizard.c	18 Sep 2002 05:02:10 -0000
@@ -100,7 +100,9 @@
 	wizard = EVOLUTION_WIZARD (bonobo_object);
 	priv = wizard->priv;
 
-	if (pagenumber < 0 || pagenumber >= priv->page_count) {
+	if (pagenumber < 0
+	    || pagenumber > priv->page_count
+	    || (action != GNOME_Evolution_Wizard_BACK && pagenumber == priv->page_count)) {
 		CORBA_exception_set (ev, CORBA_USER_EXCEPTION,
 				     ex_GNOME_Evolution_Wizard_NoPage, NULL);
 		return;
