mirror of
https://github.com/git/git.git
synced 2024-11-05 08:47:56 +01:00
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>
This commit is contained in:
parent
5be25a8f85
commit
17529cf9bc
1 changed files with 1 additions and 1 deletions
2
gitk
2
gitk
|
@ -853,7 +853,7 @@ proc make_disporder {start end} {
|
||||||
lappend displayorder $id
|
lappend displayorder $id
|
||||||
lappend parentlist $parents($curview,$id)
|
lappend parentlist $parents($curview,$id)
|
||||||
}
|
}
|
||||||
} elseif {[lindex $displayorder $r] eq {}} {
|
} elseif {[lindex $displayorder [expr {$r + $al - 1}]] eq {}} {
|
||||||
set i $r
|
set i $r
|
||||||
foreach id $varccommits($curview,$a) {
|
foreach id $varccommits($curview,$a) {
|
||||||
lset displayorder $i $id
|
lset displayorder $i $id
|
||||||
|
|
Loading…
Reference in a new issue