diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2001-08-14 06:17:00 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2001-08-14 06:17:00 +0800 |
commit | 106b05d139f79a88dfb0878157da074830af2904 (patch) | |
tree | f595d6c03ea6dde32e21c726026cca7581ab0736 /camel/providers | |
parent | 681cee1a1d0000f865f96624299afc917975bc45 (diff) | |
download | gsoc2013-evolution-106b05d139f79a88dfb0878157da074830af2904.tar gsoc2013-evolution-106b05d139f79a88dfb0878157da074830af2904.tar.gz gsoc2013-evolution-106b05d139f79a88dfb0878157da074830af2904.tar.bz2 gsoc2013-evolution-106b05d139f79a88dfb0878157da074830af2904.tar.lz gsoc2013-evolution-106b05d139f79a88dfb0878157da074830af2904.tar.xz gsoc2013-evolution-106b05d139f79a88dfb0878157da074830af2904.tar.zst gsoc2013-evolution-106b05d139f79a88dfb0878157da074830af2904.zip |
We need to be ref'ing the folder if/when we add it to the hash. This may
2001-08-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-store.c (camel_store_get_folder): We need to be ref'ing
the folder if/when we add it to the hash. This may fix bug #6089?
svn path=/trunk/; revision=11968
Diffstat (limited to 'camel/providers')
-rw-r--r-- | camel/providers/imap/camel-imap-store.c | 26 | ||||
-rw-r--r-- | camel/providers/smtp/camel-smtp-transport.c | 9 |
2 files changed, 18 insertions, 17 deletions
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c index 9eff81ecf3..b4c01110ea 100644 --- a/camel/providers/imap/camel-imap-store.c +++ b/camel/providers/imap/camel-imap-store.c @@ -868,13 +868,13 @@ get_folder_online (CamelStore *store, const char *folder_name, CamelImapResponse *response; CamelFolder *new_folder; char *folder_dir; - + if (!camel_remote_store_connected (CAMEL_REMOTE_STORE (store), ex)) return NULL; - + if (!g_strcasecmp (folder_name, "INBOX")) folder_name = "INBOX"; - + /* Lock around the whole lot to check/create atomically */ CAMEL_IMAP_STORE_LOCK (imap_store, command_lock); if (imap_store->current_folder) { @@ -886,12 +886,12 @@ get_folder_online (CamelStore *store, const char *folder_name, if (!response) { if (!flags & CAMEL_STORE_FOLDER_CREATE) return no_such_folder (folder_name, ex); - + response = camel_imap_command (imap_store, NULL, ex, "CREATE %F", folder_name); if (response) { camel_imap_response_free (imap_store, response); - + response = camel_imap_command (imap_store, NULL, NULL, "SELECT %F", folder_name); } @@ -900,7 +900,7 @@ get_folder_online (CamelStore *store, const char *folder_name, return NULL; } } - + folder_dir = e_path_to_physical (imap_store->storage_path, folder_name); new_folder = camel_imap_folder_new (store, folder_name, folder_dir, ex); g_free (folder_dir); @@ -916,9 +916,9 @@ get_folder_online (CamelStore *store, const char *folder_name, } } camel_imap_response_free_without_processing (imap_store, response); - + CAMEL_IMAP_STORE_UNLOCK (imap_store, command_lock); - + return new_folder; } @@ -929,21 +929,21 @@ get_folder_offline (CamelStore *store, const char *folder_name, CamelImapStore *imap_store = CAMEL_IMAP_STORE (store); CamelFolder *new_folder; char *folder_dir; - + if (!imap_store->connected && !camel_service_connect (CAMEL_SERVICE (store), ex)) return NULL; - + if (!g_strcasecmp (folder_name, "INBOX")) folder_name = "INBOX"; - + folder_dir = e_path_to_physical (imap_store->storage_path, folder_name); if (access (folder_dir, F_OK) != 0) return no_such_folder (folder_name, ex); - + new_folder = camel_imap_folder_new (store, folder_name, folder_dir, ex); g_free (folder_dir); - + return new_folder; } diff --git a/camel/providers/smtp/camel-smtp-transport.c b/camel/providers/smtp/camel-smtp-transport.c index f7749f4216..1f3abf987d 100644 --- a/camel/providers/smtp/camel-smtp-transport.c +++ b/camel/providers/smtp/camel-smtp-transport.c @@ -112,7 +112,7 @@ camel_smtp_transport_class_init (CamelSmtpTransportClass *camel_smtp_transport_c camel_service_class->disconnect = smtp_disconnect; camel_service_class->query_auth_types = query_auth_types; camel_service_class->get_name = get_name; - + camel_transport_class->can_send = smtp_can_send; camel_transport_class->send = smtp_send; camel_transport_class->send_to = smtp_send_to; @@ -133,7 +133,8 @@ camel_smtp_transport_get_type (void) if (camel_smtp_transport_type == CAMEL_INVALID_TYPE) { camel_smtp_transport_type = - camel_type_register (CAMEL_TRANSPORT_TYPE, "CamelSmtpTransport", + camel_type_register (CAMEL_TRANSPORT_TYPE, + "CamelSmtpTransport", sizeof (CamelSmtpTransport), sizeof (CamelSmtpTransportClass), (CamelObjectClassInitFunc) camel_smtp_transport_class_init, @@ -151,9 +152,9 @@ smtp_construct (CamelService *service, CamelSession *session, CamelException *ex) { CamelSmtpTransport *smtp_transport = CAMEL_SMTP_TRANSPORT (service); - + CAMEL_SERVICE_CLASS (parent_class)->construct (service, session, provider, url, ex); - + if (camel_url_get_param (url, "use_ssl")) smtp_transport->use_ssl = TRUE; } |