summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-03-02 06:20:52 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-03-02 06:20:52 (GMT)
commitf8c62880ef22b74ea6df47bb349ff0743d2a93f9 (patch)
tree52900d781aadcb373e4fd38d2679a2c5c0204edc
parentf474c526618d5d1111b585a6344e012fb731d3fe (diff)
parent52b8ea934ecd24b52806188b53367aaa6185deb3 (diff)
downloadgit-f8c62880ef22b74ea6df47bb349ff0743d2a93f9.zip
git-f8c62880ef22b74ea6df47bb349ff0743d2a93f9.tar.gz
git-f8c62880ef22b74ea6df47bb349ff0743d2a93f9.tar.bz2
Merge git://git.kernel.org/pub/scm/gitk/gitk
* git://git.kernel.org/pub/scm/gitk/gitk: gitk: Fix possible infinite loop and display corruption
-rw-r--r--gitk-git/gitk10
1 files changed, 6 insertions, 4 deletions
diff --git a/gitk-git/gitk b/gitk-git/gitk
index dc2a439..1773ae6 100644
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -701,16 +701,17 @@ proc newvarc {view id} {
}
proc splitvarc {p v} {
- global varcid varcstart varccommits varctok
+ global varcid varcstart varccommits varctok vtokmod
global vupptr vdownptr vleftptr vbackptr varcix varcrow vlastins
set oa $varcid($v,$p)
+ set otok [lindex $varctok($v) $oa]
set ac $varccommits($v,$oa)
set i [lsearch -exact $varccommits($v,$oa) $p]
if {$i <= 0} return
set na [llength $varctok($v)]
# "%" sorts before "0"...
- set tok "[lindex $varctok($v) $oa]%[strrep $i]"
+ set tok "$otok%[strrep $i]"
lappend varctok($v) $tok
lappend varcrow($v) {}
lappend varcix($v) {}
@@ -730,6 +731,9 @@ proc splitvarc {p v} {
for {set b [lindex $vdownptr($v) $na]} {$b != 0} {set b [lindex $vleftptr($v) $b]} {
lset vupptr($v) $b $na
}
+ if {[string compare $otok $vtokmod($v)] <= 0} {
+ modify_arc $v $oa
+ }
}
proc renumbervarc {a v} {
@@ -3363,7 +3367,6 @@ proc external_blame {parent_idx {line {}}} {
# being given an absolute path...
set f [make_relative $f]
lappend cmdline $base_commit $f
- puts "cmdline={$cmdline}"
if {[catch {eval exec $cmdline &} err]} {
error_popup "[mc "git gui blame: command failed:"] $err"
}
@@ -5731,7 +5734,6 @@ proc drawcommits {row {endrow {}}} {
optimize_rows $ro1 0 $r2
if {$need_redisplay || $nrows_drawn > 2000} {
clear_display
- drawvisible
}
# make the lines join to already-drawn rows either side