From: Paul Mackerras Date: Tue, 21 Mar 2006 23:21:45 +0000 (+1100) Subject: gitk: Fix two bugs reported by users X-Git-Url: https://privyetmir.co.uk/gitweb.cgi?a=commitdiff_plain;h=7a1d9d14c8475715c6b923f378eb72be096c7963;p=gitk gitk: Fix two bugs reported by users The first was a simple typo where I put $yc instead of [yc $row]. The second was that I broke the logic for keeping up with fast movement through the commits, e.g. when you select a commit and then press down-arrow and let it autorepeat. That got broken when I changed the merge diff display to use git-diff-tree --cc. Signed-off-by: Paul Mackerras --- diff --git a/gitk b/gitk index 9f61e68..03cd475 100755 --- a/gitk +++ b/gitk @@ -1267,9 +1267,9 @@ proc drawlineseg {id i} { set x [xc $row $ccol] set y [yc $row] if {$ccol < $col - 1} { - lappend coords [xc $row [expr {$col - 1}]] $yc + lappend coords [xc $row [expr {$col - 1}]] [yc $row] } elseif {$ccol > $col + 1} { - lappend coords [xc $row [expr {$col + 1}]] $yc + lappend coords [xc $row [expr {$col + 1}]] [yc $row] } lappend coords $x $y } @@ -2451,9 +2451,10 @@ proc goforw {} { proc mergediff {id} { global parents diffmergeid diffopts mdifffd - global difffilestart + global difffilestart diffids set diffmergeid $id + set diffids $id catch {unset difffilestart} # this doesn't seem to actually affect anything... set env(GIT_DIFF_OPTS) $diffopts @@ -2470,7 +2471,7 @@ proc mergediff {id} { proc getmergediffline {mdf id} { global diffmergeid ctext cflist nextupdate nparents mergemax - global difffilestart + global difffilestart mdifffd set n [gets $mdf line] if {$n < 0} { @@ -2479,7 +2480,8 @@ proc getmergediffline {mdf id} { } return } - if {![info exists diffmergeid] || $id != $diffmergeid} { + if {![info exists diffmergeid] || $id != $diffmergeid + || $mdf != $mdifffd($id)} { return } $ctext conf -state normal @@ -2589,13 +2591,11 @@ proc gettreediffline {gdtf ids} { set treediffs($ids) $treediff unset treepending if {$ids != $diffids} { - gettreediffs $diffids - } else { - if {[info exists diffmergeid]} { - contmergediff $ids - } else { - addtocflist $ids + if {![info exists diffmergeid]} { + gettreediffs $diffids } + } else { + addtocflist $ids } return }