Only add message to store if store exists
Prevents the program from panicing when changing folders too quickly. onMessage can race store creation for an AccountView. Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
This commit is contained in:
parent
6e745cb9f3
commit
5090a4c802
1 changed files with 12 additions and 8 deletions
|
@ -184,17 +184,21 @@ func (acct *AccountView) onMessage(msg types.WorkerMessage) {
|
|||
})
|
||||
}
|
||||
case *types.DirectoryContents:
|
||||
store := acct.msgStores[acct.dirlist.selected]
|
||||
store.Update(msg)
|
||||
if store, ok := acct.msgStores[acct.dirlist.selected]; ok {
|
||||
store.Update(msg)
|
||||
}
|
||||
case *types.FullMessage:
|
||||
store := acct.msgStores[acct.dirlist.selected]
|
||||
store.Update(msg)
|
||||
if store, ok := acct.msgStores[acct.dirlist.selected]; ok {
|
||||
store.Update(msg)
|
||||
}
|
||||
case *types.MessageInfo:
|
||||
store := acct.msgStores[acct.dirlist.selected]
|
||||
store.Update(msg)
|
||||
if store, ok := acct.msgStores[acct.dirlist.selected]; ok {
|
||||
store.Update(msg)
|
||||
}
|
||||
case *types.MessagesDeleted:
|
||||
store := acct.msgStores[acct.dirlist.selected]
|
||||
store.Update(msg)
|
||||
if store, ok := acct.msgStores[acct.dirlist.selected]; ok {
|
||||
store.Update(msg)
|
||||
}
|
||||
case *types.Error:
|
||||
acct.logger.Printf("%v", msg.Error)
|
||||
acct.host.SetStatus(fmt.Sprintf("%v", msg.Error)).
|
||||
|
|
Loading…
Reference in a new issue