From 809083f8438401e2ee1d2d14712677f55eb4e4ef Mon Sep 17 00:00:00 2001 From: Greg Anders Date: Fri, 15 Nov 2019 12:02:50 -0700 Subject: Check for terminal before forwarding mouse event When viewing a message part with no available filter, clicking the UI would cause a nil pointer dereference because the MouseEvent was passed to the PartViewer's `term` field, which does not exist in the case of an absent filter. --- widgets/msgviewer.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/widgets/msgviewer.go b/widgets/msgviewer.go index 7cd5553..4d41923 100644 --- a/widgets/msgviewer.go +++ b/widgets/msgviewer.go @@ -336,7 +336,7 @@ func (ps *PartSwitcher) MouseEvent(localX int, localY int, event tcell.Event) { case tcell.Button1: height := len(ps.parts) y := ps.height - height - if localY < y { + if localY < y && ps.parts[ps.selected].term != nil { ps.parts[ps.selected].term.MouseEvent(localX, localY, event) } for i, _ := range ps.parts { -- cgit 1.4.1-2-gfad0