aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog8
-rw-r--r--camel/camel-service.c7
-rw-r--r--camel/providers/local/camel-maildir-store.c2
3 files changed, 15 insertions, 2 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index b33a6c5110..7c865fe1ad 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,5 +1,13 @@
+2001-10-10 <NotZed@Ximian.com>
+
+ * providers/local/camel-maildir-store.c (scan_dir): oops, we want
+ get_unread_message_count, not get_message_count!
+
2001-10-09 <NotZed@Ximian.com>
+ * camel-service.c (camel_service_disconnect): Duplicate connect
+ code that unregisters a cancel op if we created one.
+
* camel-operation.c (camel_operation_progress): Another go at
getting the logic right again. Make transients only update after
5 seconds (CAMEL_OPERATION_TRANSIENT_DELAY)
diff --git a/camel/camel-service.c b/camel/camel-service.c
index 4df8154d98..35ba782dfb 100644
--- a/camel/camel-service.c
+++ b/camel/camel-service.c
@@ -301,7 +301,8 @@ camel_service_disconnect (CamelService *service, gboolean clean,
CamelException *ex)
{
gboolean res = TRUE;
-
+ int unreg = FALSE;
+
CAMEL_SERVICE_LOCK (service, connect_lock);
if (service->status == CAMEL_SERVICE_CONNECTED) {
@@ -310,6 +311,7 @@ camel_service_disconnect (CamelService *service, gboolean clean,
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);
@@ -318,6 +320,9 @@ camel_service_disconnect (CamelService *service, gboolean clean,
service->status = 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);
diff --git a/camel/providers/local/camel-maildir-store.c b/camel/providers/local/camel-maildir-store.c
index c60b162929..53952785d3 100644
--- a/camel/providers/local/camel-maildir-store.c
+++ b/camel/providers/local/camel-maildir-store.c
@@ -275,7 +275,7 @@ static int scan_dir(CamelStore *store, GHashTable *visited, char *root, const ch
CAMEL_STORE_LOCK(store, cache_lock);
folder = g_hash_table_lookup(store->folders, path);
if (folder)
- unread = camel_folder_get_message_count(folder);
+ unread = camel_folder_get_unread_message_count(folder);
else
unread = 0;
CAMEL_STORE_UNLOCK(store, cache_lock);