X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=gitk;h=03cd475f095313cfeb61c3701617a050469833dd;hb=ef5b4eabb6da7cead197e387589896345d3dfbc6;hp=9f61e68c739b15276b2f4093d4c63786ee94843c;hpb=eb447a126ce90fa1e8a4887d50fb04902167e57a;p=git.git diff --git a/gitk b/gitk index 9f61e68c..03cd475f 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 }