Skip to content

Commit

Permalink
gitk: Fix bug introduced in commit 67a4f1a
Browse files Browse the repository at this point in the history
In fixing the "can't unset idinlist" error, I moved the setting of
idinlist into the loop that splits the parents into "new" parents
(i.e. those of which this is the first child) and "old" parents.
Unfortunately this is incorrect in the case where we hit the break
statement a few lines further down, since when we come back in,
we'll see idinlist($p) set for some parents that aren't in the list.

This fixes it by moving the loop that sets up newolds and oldolds
further down.

Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Paul Mackerras committed Aug 13, 2007
1 parent 6c87d60 commit 7b459a1
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions gitk
Original file line number Diff line number Diff line change
Expand Up @@ -2895,18 +2895,12 @@ proc layoutrows {row endrow last} {
set offs [lindex $rowoffsets $row]
while {$row < $endrow} {
set id [lindex $displayorder $row]
set oldolds {}
set newolds {}
set nev [expr {[llength $idlist] - $maxwidth + 1}]
foreach p [lindex $parentlist $row] {
if {![info exists idinlist($p)]} {
lappend newolds $p
} elseif {!$idinlist($p)} {
lappend oldolds $p
if {![info exists idinlist($p)] || !$idinlist($p)} {
incr nev
}
set idinlist($p) 1
}
set nev [expr {[llength $idlist] + [llength $newolds]
+ [llength $oldolds] - $maxwidth + 1}]
if {$nev > 0} {
if {!$last &&
$row + $uparrowlen + $mingaplen >= $commitidx($curview)} break
Expand All @@ -2925,12 +2919,22 @@ proc layoutrows {row endrow last} {
if {[incr nev -1] <= 0} break
continue
}
set rowchk($id) [expr {$row + $r}]
set rowchk($i) [expr {$row + $r}]
}
}
lset rowidlist $row $idlist
lset rowoffsets $row $offs
}
set oldolds {}
set newolds {}
foreach p [lindex $parentlist $row] {
if {![info exists idinlist($p)]} {
lappend newolds $p
} elseif {!$idinlist($p)} {
lappend oldolds $p
}
set idinlist($p) 1
}
set col [lsearch -exact $idlist $id]
if {$col < 0} {
set col [llength $idlist]
Expand Down

0 comments on commit 7b459a1

Please sign in to comment.