diff options
-rw-r--r-- | composer/ChangeLog | 5 | ||||
-rw-r--r-- | composer/e-msg-composer-hdrs.c | 12 |
2 files changed, 11 insertions, 6 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog index 47e0c6caea..03dacd6f1c 100644 --- a/composer/ChangeLog +++ b/composer/ChangeLog @@ -1,3 +1,8 @@ +2005-07-15 Shreyas Srinivasan <sshreyas@novell.com> + + * e-msg-composer-hdrs.c: (account_can_send) unref the store which + was being leaked. + 2005-07-14 Not Zed <NotZed@Ximian.com> * e-msg-composer-hdrs.c (address_button_clicked_cb): add casts in diff --git a/composer/e-msg-composer-hdrs.c b/composer/e-msg-composer-hdrs.c index cfadd425f9..b3e8078f3e 100644 --- a/composer/e-msg-composer-hdrs.c +++ b/composer/e-msg-composer-hdrs.c @@ -333,19 +333,19 @@ account_can_send (EAccount *account) { static CamelStore *store; CamelException ex; + gboolean result = FALSE; if (!account->parent_uid) return TRUE; - if (!(store = (CamelStore *) camel_session_get_service (session, e_account_get_string(account, E_ACCOUNT_SOURCE_URL), CAMEL_PROVIDER_STORE, &ex))) { + if (!(store = (CamelStore *) camel_session_get_service (session, e_account_get_string(account, E_ACCOUNT_SOURCE_URL), CAMEL_PROVIDER_STORE, &ex))) camel_exception_clear (&ex); - return FALSE; + else if (store->mode & CAMEL_STORE_WRITE) { + result = TRUE; + g_object_unref (store); } - if (store->mode & CAMEL_STORE_WRITE) - return TRUE; - - return FALSE; + return result; } static GtkWidget * |