Noop if we are in offline mode.

2002-05-30  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-send-recv.c (mail_send_receive): Noop if we are in offline
	mode.

	* component-factory.c (mail_remove_storage): If the store is not
	in the storage hash, then it must not have ever been added. Fixes
	bug #25456.

svn path=/trunk/; revision=17052
This commit is contained in:
Jeffrey Stedfast
2002-05-30 21:55:01 +00:00
committed by Jeffrey Stedfast
parent 8d09d113e3
commit 81407e7405
3 changed files with 15 additions and 11 deletions

View File

@ -1,7 +1,11 @@
2002-05-30 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (store_disconnect): Protect against NULL
stores. Fixes bug #25456.
* mail-send-recv.c (mail_send_receive): Noop if we are in offline
mode.
* component-factory.c (mail_remove_storage): If the store is not
in the storage hash, then it must not have ever been added. Fixes
bug #25456.
* mail-callbacks.c (view_msg): Oops, create a message-browser
window here, not a folder-browser-window window.

View File

@ -1382,10 +1382,8 @@ mail_lookup_storage (CamelStore *store)
static void
store_disconnect(CamelStore *store, void *event_data, void *data)
{
if (store) {
camel_service_disconnect (CAMEL_SERVICE (store), TRUE, NULL);
camel_object_unref (CAMEL_OBJECT (store));
}
camel_service_disconnect (CAMEL_SERVICE (store), TRUE, NULL);
camel_object_unref (CAMEL_OBJECT (store));
}
void
@ -1402,6 +1400,9 @@ mail_remove_storage (CamelStore *store)
*/
storage = g_hash_table_lookup (storages_hash, store);
if (!storage)
return;
g_hash_table_remove (storages_hash, store);
/* so i guess potentially we could have a race, add a store while one

View File

@ -653,7 +653,10 @@ void mail_send_receive (void)
}
return;
}
if (!camel_session_is_online (session))
return;
sources = mail_config_get_sources();
if (!sources)
return;
@ -661,10 +664,6 @@ void mail_send_receive (void)
if (!account || !account->transport)
return;
/* what to do about pop before smtp ?
Well, probably hook into receive_done or receive_status on
the right pop account, and when it is, then kick off the
smtp one. */
data = build_dialogue(sources, outbox_folder, account->transport->url);
scan = data->infos;
while (scan) {