diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2001-10-05 02:12:22 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2001-10-05 02:12:22 +0800 |
commit | 16d6bd7083b3a77645ffe68fcb49c7cf36e0b9ff (patch) | |
tree | d1b774982746569122aec311ec1c3d47554e50c1 /camel | |
parent | 4ac79b2b5b74f4dc523e0d5ccd2c86b292c0aebc (diff) | |
download | gsoc2013-evolution-16d6bd7083b3a77645ffe68fcb49c7cf36e0b9ff.tar.gz gsoc2013-evolution-16d6bd7083b3a77645ffe68fcb49c7cf36e0b9ff.tar.zst gsoc2013-evolution-16d6bd7083b3a77645ffe68fcb49c7cf36e0b9ff.zip |
Unregister the operation before unreffing it.
2001-10-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-service.c (camel_service_connect): Unregister the
operation before unreffing it.
svn path=/trunk/; revision=13412
Diffstat (limited to 'camel')
-rw-r--r-- | camel/camel-service.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/camel/camel-service.c b/camel/camel-service.c index fed8945008..befc8d4f69 100644 --- a/camel/camel-service.c +++ b/camel/camel-service.c @@ -230,6 +230,7 @@ gboolean camel_service_connect (CamelService *service, CamelException *ex) { gboolean ret = FALSE; + gboolean unreg = FALSE; g_return_val_if_fail (CAMEL_IS_SERVICE (service), FALSE); g_return_val_if_fail (service->session != NULL, FALSE); @@ -250,6 +251,7 @@ camel_service_connect (CamelService *service, CamelException *ex) if (!service->connect_op) { service->connect_op = camel_operation_new (NULL, NULL); camel_operation_register (service->connect_op); + unreg = TRUE; } CAMEL_SERVICE_UNLOCK (service, connect_op_lock); @@ -258,6 +260,8 @@ camel_service_connect (CamelService *service, CamelException *ex) service->status = ret ? CAMEL_SERVICE_CONNECTED : CAMEL_SERVICE_DISCONNECTED; CAMEL_SERVICE_LOCK (service, connect_op_lock); + if (unreg) + camel_operation_unregister (service->connect_op); camel_operation_unref (service->connect_op); service->connect_op = NULL; CAMEL_SERVICE_UNLOCK (service, connect_op_lock); |