diff options
author | William Jon McCann <mccann@jhu.edu> | 2007-03-13 11:41:31 -0400 |
---|---|---|
committer | William Jon McCann <mccann@jhu.edu> | 2007-03-13 11:41:31 -0400 |
commit | 4a639d92a6f1a5dd8f59d57ade37d4cff420b66a (patch) | |
tree | cb6081df5fd92f3b3edd28d884e887fb4cc49424 /src/ck-seat.c | |
parent | 1e7af7e9c648fb461e0d36d037d2920519159525 (diff) |
various leak fixes
Diffstat (limited to 'src/ck-seat.c')
-rw-r--r-- | src/ck-seat.c | 15 |
1 files changed, 11 insertions, 4 deletions
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; } |