diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/addressbook/e-book-shell-view-private.c | 16 | ||||
-rw-r--r-- | modules/calendar/e-cal-shell-view-private.c | 16 | ||||
-rw-r--r-- | modules/calendar/e-memo-shell-view-private.c | 16 | ||||
-rw-r--r-- | modules/calendar/e-task-shell-view-private.c | 16 | ||||
-rw-r--r-- | modules/mail/e-mail-shell-view-private.c | 16 |
5 files changed, 50 insertions, 30 deletions
diff --git a/modules/addressbook/e-book-shell-view-private.c b/modules/addressbook/e-book-shell-view-private.c index 70fb2c32b0..eb7f3e074c 100644 --- a/modules/addressbook/e-book-shell-view-private.c +++ b/modules/addressbook/e-book-shell-view-private.c @@ -463,22 +463,26 @@ book_shell_view_load_view_collection (EShellViewClass *shell_view_class) ETableSpecification *spec; const gchar *base_dir; gchar *filename; + GError *local_error = NULL; collection = shell_view_class->view_collection; base_dir = EVOLUTION_ETSPECDIR; - spec = e_table_specification_new (); filename = g_build_filename (base_dir, ETSPEC_FILENAME, NULL); - if (!e_table_specification_load_from_file (spec, filename)) - g_critical ( - "Unable to load ETable specification file " - "for address book"); - g_free (filename); + spec = e_table_specification_new (filename, &local_error); + + /* Failure here is fatal. */ + if (local_error != NULL) { + g_error ("%s: %s", filename, local_error->message); + g_assert_not_reached (); + } factory = gal_view_factory_etable_new (spec); gal_view_collection_add_factory (collection, factory); g_object_unref (factory); + g_object_unref (spec); + g_free (filename); factory = gal_view_factory_minicard_new (); gal_view_collection_add_factory (collection, factory); diff --git a/modules/calendar/e-cal-shell-view-private.c b/modules/calendar/e-cal-shell-view-private.c index 8f5ce93792..c8ace44255 100644 --- a/modules/calendar/e-cal-shell-view-private.c +++ b/modules/calendar/e-cal-shell-view-private.c @@ -419,17 +419,19 @@ cal_shell_view_load_view_collection (EShellViewClass *shell_view_class) ETableSpecification *spec; const gchar *base_dir; gchar *filename; + GError *local_error = NULL; collection = shell_view_class->view_collection; base_dir = EVOLUTION_ETSPECDIR; - spec = e_table_specification_new (); filename = g_build_filename (base_dir, ETSPEC_FILENAME, NULL); - if (!e_table_specification_load_from_file (spec, filename)) - g_critical ( - "Unable to load ETable specification file " - "for calendars"); - g_free (filename); + spec = e_table_specification_new (filename, &local_error); + + /* Failure here is fatal. */ + if (local_error != NULL) { + g_error ("%s: %s", filename, local_error->message); + g_assert_not_reached (); + } factory = calendar_view_factory_new (GNOME_CAL_DAY_VIEW); gal_view_collection_add_factory (collection, factory); @@ -450,7 +452,9 @@ cal_shell_view_load_view_collection (EShellViewClass *shell_view_class) factory = gal_view_factory_etable_new (spec); gal_view_collection_add_factory (collection, factory); g_object_unref (factory); + g_object_unref (spec); + g_free (filename); gal_view_collection_load (collection); } diff --git a/modules/calendar/e-memo-shell-view-private.c b/modules/calendar/e-memo-shell-view-private.c index 73421854be..e83685548f 100644 --- a/modules/calendar/e-memo-shell-view-private.c +++ b/modules/calendar/e-memo-shell-view-private.c @@ -129,22 +129,26 @@ memo_shell_view_load_view_collection (EShellViewClass *shell_view_class) ETableSpecification *spec; const gchar *base_dir; gchar *filename; + GError *local_error = NULL; collection = shell_view_class->view_collection; base_dir = EVOLUTION_ETSPECDIR; - spec = e_table_specification_new (); filename = g_build_filename (base_dir, ETSPEC_FILENAME, NULL); - if (!e_table_specification_load_from_file (spec, filename)) - g_critical ( - "Unable to load ETable specification file " - "for memos"); - g_free (filename); + spec = e_table_specification_new (filename, &local_error); + + /* Failure here is fatal. */ + if (local_error != NULL) { + g_error ("%s: %s", filename, local_error->message); + g_assert_not_reached (); + } factory = gal_view_factory_etable_new (spec); gal_view_collection_add_factory (collection, factory); g_object_unref (factory); + g_object_unref (spec); + g_free (filename); gal_view_collection_load (collection); } diff --git a/modules/calendar/e-task-shell-view-private.c b/modules/calendar/e-task-shell-view-private.c index 1fb6e4a33a..5cba0571b7 100644 --- a/modules/calendar/e-task-shell-view-private.c +++ b/modules/calendar/e-task-shell-view-private.c @@ -194,22 +194,26 @@ task_shell_view_load_view_collection (EShellViewClass *shell_view_class) ETableSpecification *spec; const gchar *base_dir; gchar *filename; + GError *local_error = NULL; collection = shell_view_class->view_collection; base_dir = EVOLUTION_ETSPECDIR; - spec = e_table_specification_new (); filename = g_build_filename (base_dir, ETSPEC_FILENAME, NULL); - if (!e_table_specification_load_from_file (spec, filename)) - g_critical ( - "Unable to load ETable specification file " - "for tasks"); - g_free (filename); + spec = e_table_specification_new (filename, &local_error); + + /* Failure here is fatal. */ + if (local_error != NULL) { + g_error ("%s: %s", filename, local_error->message); + g_assert_not_reached (); + } factory = gal_view_factory_etable_new (spec); gal_view_collection_add_factory (collection, factory); g_object_unref (factory); + g_object_unref (spec); + g_free (filename); gal_view_collection_load (collection); } diff --git a/modules/mail/e-mail-shell-view-private.c b/modules/mail/e-mail-shell-view-private.c index 61cfd8b7ac..7779236e9e 100644 --- a/modules/mail/e-mail-shell-view-private.c +++ b/modules/mail/e-mail-shell-view-private.c @@ -545,22 +545,26 @@ mail_shell_view_load_view_collection (EShellViewClass *shell_view_class) ETableSpecification *spec; const gchar *base_dir; gchar *filename; + GError *local_error = NULL; collection = shell_view_class->view_collection; base_dir = EVOLUTION_ETSPECDIR; - spec = e_table_specification_new (); filename = g_build_filename (base_dir, ETSPEC_FILENAME, NULL); - if (!e_table_specification_load_from_file (spec, filename)) - g_critical ( - "Unable to load ETable specification file " - "for mail"); - g_free (filename); + spec = e_table_specification_new (filename, &local_error); + + /* Failure here is fatal. */ + if (local_error != NULL) { + g_error ("%s: %s", filename, local_error->message); + g_assert_not_reached (); + } factory = gal_view_factory_etable_new (spec); gal_view_collection_add_factory (collection, factory); g_object_unref (factory); + g_object_unref (spec); + g_free (filename); gal_view_collection_load (collection); } |