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 <mhag...@alum.mit.edu>
---
 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

Reply via email to