about summary refs log tree commit diff stats
path: root/commands/msg/copy.go
diff options
context:
space:
mode:
authorKevin Kuehler <keur@ocf.berkeley.edu>2019-07-14 00:42:24 -0700
committerDrew DeVault <sir@cmpwn.com>2019-07-15 09:46:49 -0400
commit8bb115dbae928111be52ed422dafb1caf72a744c (patch)
tree204da9d491c9fecb87d8ff946fb0ac80a9ac2f85 /commands/msg/copy.go
parentd85f671bdf90dbdd725db88e5d6970630e36f9f1 (diff)
downloadaerc-8bb115dbae928111be52ed422dafb1caf72a744c.tar.gz
commands: Don't crash when store is nil
On a slow network connection, running these commands without this guard
will cause aerc to panic.

Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
Diffstat (limited to 'commands/msg/copy.go')
-rw-r--r--commands/msg/copy.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/commands/msg/copy.go b/commands/msg/copy.go
index 48bccd4..6bf33cd 100644
--- a/commands/msg/copy.go
+++ b/commands/msg/copy.go
@@ -44,11 +44,14 @@ func (_ Copy) Execute(aerc *widgets.Aerc, args []string) error {
 	}
 
 	widget := aerc.SelectedTab().(widgets.ProvidesMessage)
+	store := widget.Store()
+	if store == nil {
+		return errors.New("Cannot perform action. Messages still loading")
+	}
 	msg, err := widget.SelectedMessage()
 	if err != nil {
 		return err
 	}
-	store := widget.Store()
 	store.Copy([]uint32{msg.Uid}, args[optind], createParents, func(
 		msg types.WorkerMessage) {