aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog6
-rw-r--r--camel/camel-service.c10
2 files changed, 12 insertions, 4 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index b3eccf05f1..8c77bf23d4 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,5 +1,11 @@
2001-09-27 <NotZed@Ximian.com>
+ * camel-service.c (camel_service_connect): Dont re-register the
+ connect_op if we got it by calling 'operation_registered', which
+ returns an already-registered one.
+ (camel_service_disconnect): Likewise here.
+ This removes all the re-registered warnings.
+
* camel-object.c (camel_object_unref): Fill the finalised data
with nonsense, rather than 0's - more easily detect bad data.
(camel_object_new): Clear instance data when we retrieve it off
diff --git a/camel/camel-service.c b/camel/camel-service.c
index cc254e1f2d..fed8945008 100644
--- a/camel/camel-service.c
+++ b/camel/camel-service.c
@@ -247,9 +247,10 @@ camel_service_connect (CamelService *service, CamelException *ex)
*/
CAMEL_SERVICE_LOCK (service, connect_op_lock);
service->connect_op = camel_operation_registered ();
- if (!service->connect_op)
+ if (!service->connect_op) {
service->connect_op = camel_operation_new (NULL, NULL);
- camel_operation_register (service->connect_op);
+ camel_operation_register (service->connect_op);
+ }
CAMEL_SERVICE_UNLOCK (service, connect_op_lock);
service->status = CAMEL_SERVICE_CONNECTING;
@@ -301,9 +302,10 @@ camel_service_disconnect (CamelService *service, gboolean clean,
if (service->status == CAMEL_SERVICE_CONNECTED) {
CAMEL_SERVICE_LOCK (service, connect_op_lock);
service->connect_op = camel_operation_registered ();
- if (!service->connect_op)
+ if (!service->connect_op) {
service->connect_op = camel_operation_new (NULL, NULL);
- camel_operation_register (service->connect_op);
+ camel_operation_register (service->connect_op);
+ }
CAMEL_SERVICE_UNLOCK (service, connect_op_lock);
service->status = CAMEL_SERVICE_DISCONNECTING;