From 4a639d92a6f1a5dd8f59d57ade37d4cff420b66a Mon Sep 17 00:00:00 2001 From: William Jon McCann Date: Tue, 13 Mar 2007 11:41:31 -0400 Subject: various leak fixes --- src/ck-seat.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/ck-seat.c') diff --git a/src/ck-seat.c b/src/ck-seat.c index c980ad5..0b8ef80 100644 --- a/src/ck-seat.c +++ b/src/ck-seat.c @@ -527,10 +527,12 @@ ck_seat_remove_session (CkSeat *seat, CkSession *session, GError **error) { - char *ssid; + char *ssid; + gboolean ret; g_return_val_if_fail (CK_IS_SEAT (seat), FALSE); + ret = FALSE; ssid = NULL; ck_session_get_id (session, &ssid, NULL); @@ -540,8 +542,7 @@ ck_seat_remove_session (CkSeat *seat, CK_SEAT_ERROR, CK_SEAT_ERROR_GENERAL, _("Session is not attached to this seat")); - g_free (ssid); - return FALSE; + goto out; } g_signal_handlers_disconnect_by_func (session, session_activate, seat); @@ -555,7 +556,11 @@ ck_seat_remove_session (CkSeat *seat, /* try to change the active session */ maybe_update_active_session (seat); - return TRUE; + ret = TRUE; + out: + g_free (ssid); + + return ret; } gboolean @@ -582,6 +587,8 @@ ck_seat_add_session (CkSeat *seat, maybe_update_active_session (seat); + g_free (ssid); + return TRUE; } -- cgit