aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/cal-client/cal-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/cal-client/cal-client.c')
-rw-r--r--calendar/cal-client/cal-client.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/calendar/cal-client/cal-client.c b/calendar/cal-client/cal-client.c
index 60e8ae7840..86b3cc8a05 100644
--- a/calendar/cal-client/cal-client.c
+++ b/calendar/cal-client/cal-client.c
@@ -632,7 +632,7 @@ cal_client_construct (CalClient *client)
factory = (GNOME_Evolution_Calendar_CalFactory)
oaf_activate_from_id (info->iid, 0, NULL, &ev);
- if (ev._major != CORBA_NO_EXCEPTION) {
+ if (BONOBO_EX (&ev)) {
g_warning ("cal_client_construct: Could not activate calendar server %s", info->iid);
CORBA_free (servers);
CORBA_exception_free (&ev);
@@ -759,14 +759,19 @@ cal_client_open_calendar (CalClient *client, const char *str_uri, gboolean only_
GNOME_Evolution_Calendar_CalFactory_open (f->data, str_uri,
only_if_exists,
corba_listener, &ev);
- if (ev._major == CORBA_NO_EXCEPTION)
+ if (!BONOBO_EX (&ev))
break;
}
if (BONOBO_EX (&ev)) {
CORBA_exception_free (&ev);
- g_message ("cal_client_open_calendar(): open request failed");
+ if (BONOBO_USER_EX (&ev, ex_GNOME_Evolution_Calendar_CalFactory_InvalidURI))
+ g_message ("cal_client_open_calendar: invalid URI");
+ else if (BONOBO_USER_EX (&ev, ex_GNOME_Evolution_Calendar_CalFactory_UnsupportedMethod))
+ g_message ("cal_client_open_calendar: unsupported method");
+ else
+ g_message ("cal_client_open_calendar(): open request failed");
bonobo_object_unref (BONOBO_OBJECT (priv->listener));
priv->listener = NULL;
priv->load_state = CAL_CLIENT_LOAD_NOT_LOADED;