It's no longer, and a little bit more direct, to fill in `wvals` at the same time as we determine the tag's type. Signed-off-by: Michael Haggerty <mhagger@xxxxxxxxxxxx> --- gitk | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/gitk b/gitk index d2e3803..fb2f653 100755 --- a/gitk +++ b/gitk @@ -6561,6 +6561,7 @@ proc drawtags {id x xt y1} { set marks {} set types {} + set wvals {} set maxtags 3 set maxtagpct 25 set maxwidth [expr {[graph_pane_width] * $maxtagpct / 100}] @@ -6575,14 +6576,17 @@ proc drawtags {id x xt y1} { # show just a single "n tags..." tag lappend types tags if {$ntags == 1} { - lappend marks "tag..." + set text "tag..." } else { - lappend marks [format "%d tags..." $ntags] + set text [format "%d tags..." $ntags] } + lappend marks $text + lappend wvals [font measure mainfont $text] } else { foreach tag $tags { lappend types tag lappend marks $tag + lappend wvals [font measure mainfont $tag] } } } @@ -6590,8 +6594,10 @@ proc drawtags {id x xt y1} { foreach head $idheads($id) { if {$head eq $mainhead} { lappend types mainhead + lappend wvals [font measure mainfontbold $head] } else { lappend types head + lappend wvals [font measure mainfont $head] } lappend marks $head } @@ -6600,6 +6606,7 @@ proc drawtags {id x xt y1} { foreach other $idotherrefs($id) { lappend types other lappend marks $other + lappend wvals [font measure mainfont $other] } } if {$marks eq {}} { @@ -6609,15 +6616,8 @@ proc drawtags {id x xt y1} { set yt [expr {$y1 - 0.5 * $linespc}] set yb [expr {$yt + $linespc - 1}] set xvals {} - set wvals {} - foreach tag $marks type $types { - if {$type eq "mainhead"} { - set wid [font measure mainfontbold $tag] - } else { - set wid [font measure mainfont $tag] - } + foreach wid $wvals { lappend xvals $xt - lappend wvals $wid set xt [expr {$xt + $wid + $extra}] } set t [$canv create line $x $y1 [lindex $xvals end] $y1 \ -- 2.9.3