Fix segfault on :view-message for unloaded message
This also fixes segfault on :view-message on empty directory Signed-off-by: Tom Lebreux <tomlebreux@cock.li>
This commit is contained in:
parent
ec09ec8b0e
commit
3cd0d5bc28
2 changed files with 10 additions and 0 deletions
|
@ -17,8 +17,14 @@ func ViewMessage(aerc *widgets.Aerc, args []string) error {
|
|||
return errors.New("Usage: view-message")
|
||||
}
|
||||
acct := aerc.SelectedAccount()
|
||||
if acct.Messages().Empty() {
|
||||
return nil
|
||||
}
|
||||
store := acct.Messages().Store()
|
||||
msg := acct.Messages().Selected()
|
||||
if msg == nil {
|
||||
return nil
|
||||
}
|
||||
viewer := widgets.NewMessageViewer(aerc.Config(), store, msg)
|
||||
aerc.NewTab(viewer, runewidth.Truncate(
|
||||
msg.Envelope.Subject, 32, "…"))
|
||||
|
|
|
@ -138,6 +138,10 @@ func (ml *MessageList) Store() *lib.MessageStore {
|
|||
return ml.store
|
||||
}
|
||||
|
||||
func (ml *MessageList) Empty() bool {
|
||||
return ml.store == nil || len(ml.store.Uids) == 0
|
||||
}
|
||||
|
||||
func (ml *MessageList) Selected() *types.MessageInfo {
|
||||
return ml.store.Messages[ml.store.Uids[len(ml.store.Uids)-ml.selected-1]]
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue