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:
|
case *types.DirectoryContents:
|
||||||
store := acct.msgStores[acct.dirlist.selected]
|
if store, ok := acct.msgStores[acct.dirlist.selected]; ok {
|
||||||
store.Update(msg)
|
store.Update(msg)
|
||||||
|
}
|
||||||
case *types.FullMessage:
|
case *types.FullMessage:
|
||||||
store := acct.msgStores[acct.dirlist.selected]
|
if store, ok := acct.msgStores[acct.dirlist.selected]; ok {
|
||||||
store.Update(msg)
|
store.Update(msg)
|
||||||
|
}
|
||||||
case *types.MessageInfo:
|
case *types.MessageInfo:
|
||||||
store := acct.msgStores[acct.dirlist.selected]
|
if store, ok := acct.msgStores[acct.dirlist.selected]; ok {
|
||||||
store.Update(msg)
|
store.Update(msg)
|
||||||
|
}
|
||||||
case *types.MessagesDeleted:
|
case *types.MessagesDeleted:
|
||||||
store := acct.msgStores[acct.dirlist.selected]
|
if store, ok := acct.msgStores[acct.dirlist.selected]; ok {
|
||||||
store.Update(msg)
|
store.Update(msg)
|
||||||
|
}
|
||||||
case *types.Error:
|
case *types.Error:
|
||||||
acct.logger.Printf("%v", msg.Error)
|
acct.logger.Printf("%v", msg.Error)
|
||||||
acct.host.SetStatus(fmt.Sprintf("%v", msg.Error)).
|
acct.host.SetStatus(fmt.Sprintf("%v", msg.Error)).
|
||||||
|
|
Loading…
Reference in a new issue