diff options
author | Not Zed <NotZed@Ximian.com> | 2002-05-10 01:28:58 +0000 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2002-05-10 01:28:58 +0000 |
commit | 5b8d0963afb8f317dca74fc77deb5fcbd7e4d49b (patch) | |
tree | 2174e05be7825876346a7744e6e838acf1909bc2 | |
parent | 66fc7ded89441484153c249639f7599cdafb34de (diff) | |
download | evolution-data-server-5b8d0963afb8f317dca74fc77deb5fcbd7e4d49b.tar.gz |
Instead of testing for SERVICE_CONNECTED, we need to also handle
2002-05-09 Not Zed <NotZed@Ximian.com>
* camel-service.c (camel_service_disconnect): Instead of testing
for SERVICE_CONNECTED, we need to also handle SERVICE_CONNECTING
too, as it will often have setup some details before it failed.
Make it !DISCONNECTED (and !DISCONNECTING for recursive calls,
which happen). Fixes #23782, and maybe also #21604 and many other
random crashes.
-rw-r--r-- | camel/ChangeLog | 9 | ||||
-rw-r--r-- | camel/camel-service.c | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index fc1ace103..88fa2f2f6 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,12 @@ +2002-05-09 Not Zed <NotZed@Ximian.com> + + * camel-service.c (camel_service_disconnect): Instead of testing + for SERVICE_CONNECTED, we need to also handle SERVICE_CONNECTING + too, as it will often have setup some details before it failed. + Make it !DISCONNECTED (and !DISCONNECTING for recursive calls, + which happen). Fixes #23782, and maybe also #21604 and many other + random crashes. + 2002-05-02 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-utils.c (header_decode_mailbox): Fixed the fix for diff --git a/camel/camel-service.c b/camel/camel-service.c index f2322c95c..6b245b8b4 100644 --- a/camel/camel-service.c +++ b/camel/camel-service.c @@ -307,7 +307,8 @@ camel_service_disconnect (CamelService *service, gboolean clean, CAMEL_SERVICE_LOCK (service, connect_lock); - if (service->status == CAMEL_SERVICE_CONNECTED) { + if (service->status != CAMEL_SERVICE_DISCONNECTED + && service->status != CAMEL_SERVICE_DISCONNECTING) { CAMEL_SERVICE_LOCK (service, connect_op_lock); service->connect_op = camel_operation_registered (); if (!service->connect_op) { |