From c655c9f3ec59a83b08903355def83d89ff1f1a93 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 12 Oct 2009 11:44:25 +0200 Subject: Bug #596720 - Account assistance repeats itself after finishing --- e-util/e-config.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'e-util/e-config.c') diff --git a/e-util/e-config.c b/e-util/e-config.c index 9d2a407546..69a6cc71b3 100644 --- a/e-util/e-config.c +++ b/e-util/e-config.c @@ -467,8 +467,8 @@ ec_assistant_forward (gint current_page, gpointer user_data) } if (wn && wn->next) { - d(printf(" is %s\n",wn->item->path)); ec_assistant_find_page (ec, wn->frame, &next_page); + d(printf(" is %s (%d)\n",wn->item->path, next_page)); } return next_page; @@ -619,7 +619,8 @@ ec_rebuild (EConfig *emp) break; } - if (wn->widget == NULL) { + if (item->type == E_CONFIG_PAGE_FINISH || wn->widget == NULL) { + /* always rebuild finish page, to have it as the last page */ if (item->factory) { page = item->factory(emp, item, root, wn->frame, wn->context->data); } else { @@ -639,15 +640,19 @@ ec_rebuild (EConfig *emp) gtk_widget_show_all (page); } + if (wn->widget != NULL && wn->widget != page) { + gtk_widget_destroy (wn->widget); + } + wn->frame = page; wn->widget = page; if (page) { const gchar *empty_xpm_img[] = { - "48 1 2 1", + "75 1 2 1", " c None", ". c #FFFFFF", - " "}; + " "}; /* left side place with a blue background on a start and finish page */ GdkPixbuf *spacer = gdk_pixbuf_new_from_xpm_data (empty_xpm_img); -- cgit v1.2.3