aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/tasks-component.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/tasks-component.c')
-rw-r--r--calendar/gui/tasks-component.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/calendar/gui/tasks-component.c b/calendar/gui/tasks-component.c
index d0b556095c..60559f825a 100644
--- a/calendar/gui/tasks-component.c
+++ b/calendar/gui/tasks-component.c
@@ -430,16 +430,27 @@ model_rows_deleted_cb (ETableModel *etm, int row, int count, TasksComponentView
/* Evolution::Component CORBA methods */
-static CORBA_boolean
+static void
impl_upgradeFromVersion (PortableServer_Servant servant,
CORBA_short major,
CORBA_short minor,
CORBA_short revision,
CORBA_Environment *ev)
{
+ GError *err = NULL;
TasksComponent *component = TASKS_COMPONENT (bonobo_object_from_servant (servant));
- return migrate_tasks (component, major, minor, revision);
+ if (!migrate_tasks(component, major, minor, revision, &err)) {
+ GNOME_Evolution_Component_UpgradeFailed *failedex;
+
+ failedex = GNOME_Evolution_Component_UpgradeFailed__alloc();
+ failedex->what = CORBA_string_dup(_("Failed upgrading tasks."));
+ failedex->why = CORBA_string_dup(err->message);
+ CORBA_exception_set(ev, CORBA_USER_EXCEPTION, ex_GNOME_Evolution_Component_UpgradeFailed, failedex);
+ }
+
+ if (err)
+ g_error_free(err);
}
static void