From 267da3b4db404140b45538a6e7082f833545a297 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Mon, 5 Apr 2021 14:24:28 +1000 Subject: [PATCH] fix issue when switching repos while files refresh --- pkg/gui/filetree/commit_file_node.go | 8 +++++++- pkg/gui/filetree/file_node.go | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pkg/gui/filetree/commit_file_node.go b/pkg/gui/filetree/commit_file_node.go index 91aba14c0..0edaf9c8e 100644 --- a/pkg/gui/filetree/commit_file_node.go +++ b/pkg/gui/filetree/commit_file_node.go @@ -111,7 +111,13 @@ func (node *CommitFileNode) GetNodeAtIndex(index int, collapsedPaths map[string] return nil } - return getNodeAtIndex(node, index, collapsedPaths).(*CommitFileNode) + result := getNodeAtIndex(node, index, collapsedPaths) + if result == nil { + // not sure how this can be nil: we probably are missing a mutex somewhere + return nil + } + + return result.(*CommitFileNode) } func (node *CommitFileNode) GetIndexForPath(path string, collapsedPaths map[string]bool) (int, bool) { diff --git a/pkg/gui/filetree/file_node.go b/pkg/gui/filetree/file_node.go index 649578fb0..802ff1ddf 100644 --- a/pkg/gui/filetree/file_node.go +++ b/pkg/gui/filetree/file_node.go @@ -97,7 +97,13 @@ func (node *FileNode) GetNodeAtIndex(index int, collapsedPaths map[string]bool) return nil } - return getNodeAtIndex(node, index, collapsedPaths).(*FileNode) + result := getNodeAtIndex(node, index, collapsedPaths) + if result == nil { + // not sure how this can be nil: we probably are missing a mutex somewhere + return nil + } + + return result.(*FileNode) } func (node *FileNode) GetIndexForPath(path string, collapsedPaths map[string]bool) (int, bool) {