aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--commands/util.go3
-rw-r--r--lib/msgstore.go7
2 files changed, 10 insertions, 0 deletions
diff --git a/commands/util.go b/commands/util.go
index ffc5ed6c..f3f9bc83 100644
--- a/commands/util.go
+++ b/commands/util.go
@@ -188,6 +188,9 @@ func MsgInfoFromUids(store *lib.MessageStore, uids []uint32) ([]*models.MessageI
if !ok {
return nil, fmt.Errorf("uid not found")
}
+ if infos[i] == nil {
+ return nil, fmt.Errorf("message store not ready yet")
+ }
}
return infos, nil
}
diff --git a/lib/msgstore.go b/lib/msgstore.go
index 40720b46..051a7d2c 100644
--- a/lib/msgstore.go
+++ b/lib/msgstore.go
@@ -523,6 +523,13 @@ func (store *MessageStore) updateVisual() {
for _, uid := range visUids {
store.marked[uid] = struct{}{}
}
+ missing := make([]uint32, 0)
+ for _, uid := range visUids {
+ if msg, _ := store.Messages[uid]; msg == nil {
+ missing = append(missing, uid)
+ }
+ }
+ store.FetchHeaders(missing, nil)
}
func (store *MessageStore) NextPrev(delta int) {