aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
diff options
context:
space:
mode:
authorReto Brunner <reto@labrat.space>2020-05-09 11:50:31 +0200
committerDrew DeVault <sir@cmpwn.com>2020-05-11 09:47:34 -0400
commitea2646fc039a572491ba8cc8e2879b7bf61c25dd (patch)
tree3608b8064e4f67f1f53e177ddad2e5f5ae9a49d5 /widgets
parent381c1fc05f6de95accbb520769d0cc9196955cf4 (diff)
downloadaerc-ea2646fc039a572491ba8cc8e2879b7bf61c25dd.tar.gz
Change MarkedMessages to return uids
Especially if one tries to interact with all marked messages there could be the case that not all headers are fetched yet, hence the messageInfo is still nil. This segfaults a lot of commands which in principle only need the uid to complete. If we switch to uids, this issue can be alleviated for those commands.
Diffstat (limited to 'widgets')
-rw-r--r--widgets/account.go4
-rw-r--r--widgets/msgviewer.go4
-rw-r--r--widgets/providesmessage.go2
3 files changed, 5 insertions, 5 deletions
diff --git a/widgets/account.go b/widgets/account.go
index 31384a5f..20ed3456 100644
--- a/widgets/account.go
+++ b/widgets/account.go
@@ -215,9 +215,9 @@ func (acct *AccountView) SelectedMessage() (*models.MessageInfo, error) {
return msg, nil
}
-func (acct *AccountView) MarkedMessages() ([]*models.MessageInfo, error) {
+func (acct *AccountView) MarkedMessages() ([]uint32, error) {
store := acct.Store()
- return msgInfoFromUids(store, store.Marked())
+ return store.Marked(), nil
}
func (acct *AccountView) SelectedMessagePart() *PartInfo {
diff --git a/widgets/msgviewer.go b/widgets/msgviewer.go
index e192ae6a..0cfabd7f 100644
--- a/widgets/msgviewer.go
+++ b/widgets/msgviewer.go
@@ -262,9 +262,9 @@ func (mv *MessageViewer) SelectedMessage() (*models.MessageInfo, error) {
return mv.msg.MessageInfo(), nil
}
-func (mv *MessageViewer) MarkedMessages() ([]*models.MessageInfo, error) {
+func (mv *MessageViewer) MarkedMessages() ([]uint32, error) {
store := mv.Store()
- return msgInfoFromUids(store, store.Marked())
+ return store.Marked(), nil
}
func (mv *MessageViewer) ToggleHeaders() {
diff --git a/widgets/providesmessage.go b/widgets/providesmessage.go
index b06825fa..6e00b1cf 100644
--- a/widgets/providesmessage.go
+++ b/widgets/providesmessage.go
@@ -25,5 +25,5 @@ type ProvidesMessages interface {
Store() *lib.MessageStore
SelectedAccount() *AccountView
SelectedMessage() (*models.MessageInfo, error)
- MarkedMessages() ([]*models.MessageInfo, error)
+ MarkedMessages() ([]uint32, error)
}