[PATCH] gitk: Fix for tree view ending in nested directories
authorBrian Downing <bdowning@lavos.net>
Thu, 5 Jul 2007 11:33:02 +0000 (06:33 -0500)
committerPaul Mackerras <paulus@samba.org>
Mon, 9 Jul 2007 09:28:19 +0000 (19:28 +1000)
Unroll the prefix stack when assigning treeheights when leaving
proc treeview.  Previously, when the ls-tree output ended in
multiple nested directories (for instance in a repository with a
single file "foo/bar/baz"), $treeheight("foo/bar/") was assigned
twice, and $treeheight("foo/") was never assigned.  This led to
an error when expanding the "foo" directory in the gitk treeview.

Signed-off-by: Brian Downing <bdowning@lavos.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk

diff --git a/gitk b/gitk
index 45e16e4fd5ebb6670b289a2cd4006a878c80df6c..28a6bac3aa74b46faaddca721caef20962725f39 100755 (executable)
--- a/gitk
+++ b/gitk
@@ -1216,6 +1216,9 @@ proc treeview {w l openlevs} {
        set treeheight($prefix) $ht
        incr ht [lindex $htstack end]
        set htstack [lreplace $htstack end end]
+       set prefixend [lindex $prefendstack end]
+       set prefendstack [lreplace $prefendstack end end]
+       set prefix [string range $prefix 0 $prefixend]
     }
     $w conf -state disabled
 }