diff options
author | Milan Crha <mcrha@redhat.com> | 2009-10-12 17:44:25 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2009-10-12 17:44:25 +0800 |
commit | c655c9f3ec59a83b08903355def83d89ff1f1a93 (patch) | |
tree | 38e8b5aa91892020ac5156e69e8e65bf7e445bd1 /e-util/e-config.c | |
parent | 11cc0d7babfc3ecf231542411d99b6cc693ca138 (diff) | |
download | gsoc2013-evolution-c655c9f3ec59a83b08903355def83d89ff1f1a93.tar.gz gsoc2013-evolution-c655c9f3ec59a83b08903355def83d89ff1f1a93.tar.zst gsoc2013-evolution-c655c9f3ec59a83b08903355def83d89ff1f1a93.zip |
Bug #596720 - Account assistance repeats itself after finishing
Diffstat (limited to 'e-util/e-config.c')
-rw-r--r-- | e-util/e-config.c | 13 |
1 files changed, 9 insertions, 4 deletions
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); |