about summary refs log tree commit diff stats
path: root/lib/msgstore.go
diff options
context:
space:
mode:
Diffstat (limited to 'lib/msgstore.go')
-rw-r--r--lib/msgstore.go9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/msgstore.go b/lib/msgstore.go
index b0392ba..8cceed8 100644
--- a/lib/msgstore.go
+++ b/lib/msgstore.go
@@ -10,9 +10,10 @@ import (
 
 // Accesses to fields must be guarded by MessageStore.Lock/Unlock
 type MessageStore struct {
-	Deleted  map[uint32]interface{}
-	DirInfo  models.DirectoryInfo
-	Messages map[uint32]*models.MessageInfo
+	Deleted          map[uint32]interface{}
+	DirInfo          models.DirectoryInfo
+	Messages         map[uint32]*models.MessageInfo
+	FetchingContents bool
 	// Ordered list of known UIDs
 	uids []uint32
 
@@ -159,6 +160,7 @@ func (store *MessageStore) Update(msg types.WorkerMessage) {
 		store.worker.PostAction(&types.FetchDirectoryContents{
 			SortCriteria: store.defaultSortCriteria,
 		}, nil)
+		store.FetchingContents = true
 		update = true
 	case *types.DirectoryContents:
 		newMap := make(map[uint32]*models.MessageInfo)
@@ -172,6 +174,7 @@ func (store *MessageStore) Update(msg types.WorkerMessage) {
 		}
 		store.Messages = newMap
 		store.uids = msg.Uids
+		store.FetchingContents = false
 		update = true
 	case *types.MessageInfo:
 		if existing, ok := store.Messages[msg.Info.Uid]; ok && existing != nil {