about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJelle Besseling <jelle@pingiun.com>2019-08-08 12:48:51 +0200
committerDrew DeVault <sir@cmpwn.com>2019-08-12 08:58:57 +0900
commit4478c6a4b7e0bc35211d4ab7c681d5d36563c274 (patch)
treea7bd5bb6e1fcec27e7cc1362138bd39080043b88
parent5b523880b4b4cd2abd9457b4b09c384af33be14b (diff)
downloadaerc-4478c6a4b7e0bc35211d4ab7c681d5d36563c274.tar.gz
Ignore scroll command when msgstore is nil
Fixes ~sircmpwn/aerc2#205. Many functions do a nil check on the store,
so this changes Store() so it returns nil when msglist is nil.

It also places the Scroll() behind the nil check in the next-message command.

https://todo.sr.ht/~sircmpwn/aerc2/205
-rw-r--r--commands/account/next.go4
-rw-r--r--widgets/account.go3
2 files changed, 5 insertions, 2 deletions
diff --git a/commands/account/next.go b/commands/account/next.go
index 7b1f230..1ba4b1b 100644
--- a/commands/account/next.go
+++ b/commands/account/next.go
@@ -65,14 +65,14 @@ func ExecuteNextPrevMessage(args []string, acct *widgets.AccountView, pct bool,
 		store := acct.Store()
 		if store != nil {
 			store.NextPrev(-n)
+			acct.Messages().Scroll()
 		}
-		acct.Messages().Scroll()
 	} else {
 		store := acct.Store()
 		if store != nil {
 			store.NextPrev(n)
+			acct.Messages().Scroll()
 		}
-		acct.Messages().Scroll()
 	}
 	return nil
 }
diff --git a/widgets/account.go b/widgets/account.go
index 07b5010..688b660 100644
--- a/widgets/account.go
+++ b/widgets/account.go
@@ -164,6 +164,9 @@ func (acct *AccountView) Messages() *MessageList {
 }
 
 func (acct *AccountView) Store() *lib.MessageStore {
+	if acct.msglist == nil {
+		return nil
+	}
 	return acct.msglist.Store()
 }