aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-config.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2009-10-12 17:44:25 +0800
committerMilan Crha <mcrha@redhat.com>2009-10-12 17:44:25 +0800
commitc655c9f3ec59a83b08903355def83d89ff1f1a93 (patch)
tree38e8b5aa91892020ac5156e69e8e65bf7e445bd1 /e-util/e-config.c
parent11cc0d7babfc3ecf231542411d99b6cc693ca138 (diff)
downloadgsoc2013-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.c13
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);