summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2006-03-21 23:21:45 (GMT)
committerPaul Mackerras <paulus@samba.org>2006-03-21 23:21:45 (GMT)
commit7a1d9d14c8475715c6b923f378eb72be096c7963 (patch)
treea162666de55f7809fe78b3db3f7a18b61435a558
parenteb447a126ce90fa1e8a4887d50fb04902167e57a (diff)
downloadgit-7a1d9d14c8475715c6b923f378eb72be096c7963.zip
git-7a1d9d14c8475715c6b923f378eb72be096c7963.tar.gz
git-7a1d9d14c8475715c6b923f378eb72be096c7963.tar.bz2
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 <paulus@samba.org>
-rwxr-xr-xgitk22
1 files changed, 11 insertions, 11 deletions
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
}