diff options
author | Paul Mackerras <paulus@samba.org> | 2008-01-12 21:46:31 +1100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-01-12 21:46:31 +1100 |
commit | 17529cf9bc50e8b2bc0ea930a966b8b47056853e (patch) | |
tree | c101e983421cb3881de779fbe0b2e9b0e7ffae91 | |
parent | gitk: Fix handling of flag arguments (diff) | |
download | tgif-17529cf9bc50e8b2bc0ea930a966b8b47056853e.tar.xz |
gitk: Fix a bug in make_disporder
The make_disporder function has an optimization where it assumed that
if displayorder was already long enough and the first entry in it for
a particular arc was non-null, then the whole arc was present. This
turns out not to be true in some circumstances, since we can add a
commit to an arc (which truncates displayorder to the previous end of
that arc), then call make_disporder for later arcs (which will pad
displayorder with null elements), then call make_disporder for the
first arc - which won't update the null elements.
This fixes it by changing the optimization to check the last element
for the arc instead of the first.
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rwxr-xr-x | gitk | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -853,7 +853,7 @@ proc make_disporder {start end} { lappend displayorder $id lappend parentlist $parents($curview,$id) } - } elseif {[lindex $displayorder $r] eq {}} { + } elseif {[lindex $displayorder [expr {$r + $al - 1}]] eq {}} { set i $r foreach id $varccommits($curview,$a) { lset displayorder $i $id |