aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSrinivasa Ragavan <sragavan@novell.com>2009-05-22 19:03:49 +0800
committerSrinivasa Ragavan <sragavan@novell.com>2009-05-22 20:13:57 +0800
commit981f6cb4c15b7c1c4163bed64940c5d5b053d67d (patch)
tree17979a3972290123ebbb7dfcf9273bc1d628d965
parent1cb4f46d8e12b0c47f7e74fc294b07a232b475ed (diff)
downloadgsoc2013-evolution-981f6cb4c15b7c1c4163bed64940c5d5b053d67d.tar.gz
gsoc2013-evolution-981f6cb4c15b7c1c4163bed64940c5d5b053d67d.tar.zst
gsoc2013-evolution-981f6cb4c15b7c1c4163bed64940c5d5b053d67d.zip
Fix EConfig bugs for Anjal's account setup.
-rw-r--r--e-util/e-config.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/e-util/e-config.c b/e-util/e-config.c
index 1da54b5436..a2d68e1740 100644
--- a/e-util/e-config.c
+++ b/e-util/e-config.c
@@ -532,11 +532,13 @@ ec_rebuild(EConfig *emp)
gnome_druid_page_edge_set_title((GnomeDruidPageEdge *)page, translated_label);
gnome_druid_insert_page((GnomeDruid *)druid, pagenode?(GnomeDruidPage *)pagenode->frame:NULL, (GnomeDruidPage *)page);
}
- if (item->type == E_CONFIG_PAGE_FINISH) {
- g_signal_connect(page, "back", G_CALLBACK(ec_druid_prev), wn);
- g_signal_connect(page, "finish", G_CALLBACK(ec_druid_finish), wn);
- } else
- g_signal_connect(page, "next", G_CALLBACK(ec_druid_next), wn);
+ if (page) {
+ if (item->type == E_CONFIG_PAGE_FINISH) {
+ g_signal_connect(page, "back", G_CALLBACK(ec_druid_prev), wn);
+ g_signal_connect(page, "finish", G_CALLBACK(ec_druid_finish), wn);
+ } else
+ g_signal_connect(page, "next", G_CALLBACK(ec_druid_next), wn);
+ }
wn->frame = page;
wn->widget = page;
}
@@ -567,10 +569,11 @@ ec_rebuild(EConfig *emp)
page = item->factory(emp, item, root, wn->frame, wn->context->data);
if (emp->type == E_CONFIG_DRUID) {
if (page) {
- g_return_if_fail (GNOME_IS_DRUID_PAGE_STANDARD(page));
- connect = wn->frame != page;
- wn->frame = page;
- page = ((GnomeDruidPageStandard *)page)->vbox;
+ if (GNOME_IS_DRUID_PAGE_STANDARD(page)) {
+ connect = wn->frame != page;
+ wn->frame = page;
+ page = ((GnomeDruidPageStandard *)page)->vbox;
+ }
} else
wn->frame = page;
} else {