提交 c73adce2 编写于 作者: P Paul Mackerras

gitk: Fix a couple of bugs

insertrow and removerow were trying to adjust rowidlist, rowisopt
and rowfinal even if the row where we're inserting/deleting stuff
hasn't been laid out yet, which resulted in Tcl errors.  This fixes
that.

Also we weren't deleting the link$linknum tag in appendwithlinks,
which resulted in SHA1 IDs in the body of a commit message sometimes
getting shown in blue with underlining when they shouldn't.
Signed-off-by: NPaul Mackerras <paulus@samba.org>
上级 687c8765
......@@ -4027,17 +4027,21 @@ proc insertrow {row newcmit} {
incr commitidx($curview)
set ordertok($curview,$newcmit) $ordertok($curview,$p)
set idlist [lindex $rowidlist $row]
if {[llength $kids] == 1} {
set col [lsearch -exact $idlist $p]
lset idlist $col $newcmit
} else {
set col [llength $idlist]
lappend idlist $newcmit
if {$row < [llength $rowidlist]} {
set idlist [lindex $rowidlist $row]
if {$idlist ne {}} {
if {[llength $kids] == 1} {
set col [lsearch -exact $idlist $p]
lset idlist $col $newcmit
} else {
set col [llength $idlist]
lappend idlist $newcmit
}
}
set rowidlist [linsert $rowidlist $row $idlist]
set rowisopt [linsert $rowisopt $row 0]
set rowfinal [linsert $rowfinal $row [lindex $rowfinal $row]]
}
set rowidlist [linsert $rowidlist $row $idlist]
set rowisopt [linsert $rowisopt $row 0]
set rowfinal [linsert $rowfinal $row [lindex $rowfinal $row]]
incr numcommits
......@@ -4077,9 +4081,11 @@ proc removerow {row} {
}
incr commitidx($curview) -1
set rowidlist [lreplace $rowidlist $row $row]
set rowisopt [lreplace $rowisopt $row $row]
set rowfinal [lreplace $rowfinal $row $row]
if {$row < [llength $rowidlist]} {
set rowidlist [lreplace $rowidlist $row $row]
set rowisopt [lreplace $rowisopt $row $row]
set rowfinal [lreplace $rowfinal $row $row]
}
incr numcommits -1
......@@ -4443,6 +4449,7 @@ proc appendwithlinks {text tags} {
set e [lindex $l 1]
set linkid [string range $text $s $e]
incr e
$ctext tag delete link$linknum
$ctext tag add link$linknum "$start + $s c" "$start + $e c"
setlink $linkid link$linknum
incr linknum
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册