From 43d436a36ebd59699b20f6e49f544ad24c8d8a30 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Wed, 2 Jul 2003 13:29:55 +0000 Subject: Don't leak exceptions (load_static_capabilities): free the capability * cal-client/cal-client.c (real_open_calendar): Don't leak exceptions (load_static_capabilities): free the capability string * gui/dialogs/task-page.c (task_page_fill_component): Free the description text if it *was* set, rather than if it wasn't. * gui/dialogs/task-editor.c (task_editor_finalize): Free the priv struct. svn path=/trunk/; revision=21722 --- calendar/cal-client/cal-client.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'calendar/cal-client') diff --git a/calendar/cal-client/cal-client.c b/calendar/cal-client/cal-client.c index 075186b056..25e40322bb 100644 --- a/calendar/cal-client/cal-client.c +++ b/calendar/cal-client/cal-client.c @@ -839,10 +839,15 @@ real_open_calendar (CalClient *client, const char *str_uri, gboolean only_if_exi GNOME_Evolution_Calendar_CalFactory_open (f->data, str_uri, only_if_exists, corba_listener, &ev); - if (!BONOBO_EX (&ev)) - break; - else if (BONOBO_USER_EX (&ev, ex_GNOME_Evolution_Calendar_CalFactory_UnsupportedMethod)) + if (!BONOBO_EX (&ev)) { + if (supported != NULL) + *supported = TRUE; + return TRUE; + } + + if (BONOBO_USER_EX (&ev, ex_GNOME_Evolution_Calendar_CalFactory_UnsupportedMethod)) unsupported++; + CORBA_exception_free (&ev); } if (supported != NULL) { @@ -852,17 +857,13 @@ real_open_calendar (CalClient *client, const char *str_uri, gboolean only_if_exi *supported = TRUE; } - if (BONOBO_EX (&ev)) { - bonobo_object_unref (BONOBO_OBJECT (priv->listener)); - priv->listener = NULL; - priv->load_state = CAL_CLIENT_LOAD_NOT_LOADED; - g_free (priv->uri); - priv->uri = NULL; - - return FALSE; - } + bonobo_object_unref (BONOBO_OBJECT (priv->listener)); + priv->listener = NULL; + priv->load_state = CAL_CLIENT_LOAD_NOT_LOADED; + g_free (priv->uri); + priv->uri = NULL; - return TRUE; + return FALSE; } /** @@ -1213,6 +1214,8 @@ load_static_capabilities (CalClient *client) priv->capabilities = g_strdup (cap); else priv->capabilities = g_strdup (""); + + CORBA_free (cap); CORBA_exception_free (&ev); } -- cgit