aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog8
-rw-r--r--shell/e-shell-startup-wizard.c14
2 files changed, 20 insertions, 2 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 6cddf700ad..54a5e691b4 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,3 +1,11 @@
+2001-10-30 <NotZed@Ximian.com>
+
+ * e-shell-startup-wizard.c (next_func): If we're not at the end of
+ the druid list, tell the druid we're going to change the page.
+ (back_func): Same for going back a page. This way we can properly
+ synchronise with the druid object and not race with the wizard
+ object to set the right page. Part of fix for #12127.
+
2001-10-29 Ettore Perazzoli <ettore@ximian.com>
* evolution-shell-component.c (owner_ping_callback): Slightly
diff --git a/shell/e-shell-startup-wizard.c b/shell/e-shell-startup-wizard.c
index b7452e2367..0176257478 100644
--- a/shell/e-shell-startup-wizard.c
+++ b/shell/e-shell-startup-wizard.c
@@ -200,7 +200,12 @@ next_func (GnomeDruidPage *page,
pagenum = page_to_num (page);
GNOME_Evolution_Wizard_notifyAction (data->mailer, pagenum, GNOME_Evolution_Wizard_NEXT, &ev);
CORBA_exception_free (&ev);
- return FALSE;
+
+ /* If on last page we own, let druid goto next page */
+ if (pagenum == g_list_length(page_list)-1)
+ return FALSE;
+
+ return TRUE;
}
static gboolean
@@ -230,7 +235,12 @@ back_func (GnomeDruidPage *page,
pagenum = page_to_num (page);
GNOME_Evolution_Wizard_notifyAction (data->mailer, pagenum, GNOME_Evolution_Wizard_BACK, &ev);
CORBA_exception_free (&ev);
- return FALSE;
+
+ /* if we're on page 0, let the druid go back to the start page, if we have one */
+ if (pagenum == 0)
+ return FALSE;
+
+ return TRUE;
}
static void