1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-02-09 13:47:11 +02:00

fix bug caused by interface

This commit is contained in:
Jesse Duffield 2021-04-01 09:25:11 +11:00
parent 0b7bda291c
commit 949c7726d1
3 changed files with 10 additions and 3 deletions

View File

@ -89,6 +89,11 @@ func (m *CommitFileManager) ToggleCollapsed(path string) {
}
func (m *CommitFileManager) Render(diffName string, patchManager *patch.PatchManager) []string {
// can't rely on renderAux to check for nil because an interface won't be nil if its concrete value is nil
if m.tree == nil {
return []string{}
}
return renderAux(m.tree, m.collapsedPaths, "", -1, func(n INode, depth int) string {
castN := n.(*CommitFileNode)

View File

@ -81,6 +81,11 @@ func (m *FileManager) ToggleCollapsed(path string) {
}
func (m *FileManager) Render(diffName string, submoduleConfigs []*models.SubmoduleConfig) []string {
// can't rely on renderAux to check for nil because an interface won't be nil if its concrete value is nil
if m.tree == nil {
return []string{}
}
return renderAux(m.tree, m.collapsedPaths, "", -1, func(n INode, depth int) string {
castN := n.(*FileNode)
return presentation.GetFileLine(castN.GetHasUnstagedChanges(), castN.GetHasStagedChanges(), castN.NameAtDepth(depth), diffName, submoduleConfigs, castN.File)

View File

@ -215,9 +215,6 @@ func getLeaves(node INode) []INode {
func renderAux(s INode, collapsedPaths CollapsedPaths, prefix string, depth int, renderLine func(INode, int) string) []string {
isRoot := depth == -1
if s == nil {
return []string{}
}
renderLineWithPrefix := func() string {
return prefix + renderLine(s, depth)