gitk: Prevent parent link from overwriting commit headline
authorPaul Mackerras <paulus@samba.org>
Thu, 30 Mar 2006 22:54:24 +0000 (09:54 +1100)
committerPaul Mackerras <paulus@samba.org>
Thu, 30 Mar 2006 22:54:24 +0000 (09:54 +1100)
When I made drawlineseg responsible for drawing the link to the first
child rather than drawparentlinks, that meant that the right-most X
value computed by drawparentlinks didn't include those first-child
links, and thus the first-child link could go over the top of the
commit headline.  This fixes it.

Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk

diff --git a/gitk b/gitk
index b61e138..9c43587 100755 (executable)
--- a/gitk
+++ b/gitk
@@ -1304,17 +1304,21 @@ proc drawparentlinks {id row col olds} {
     # rmx = right-most X coord used
     set rmx 0
     foreach p $olds {
+       set i [lsearch -exact $ids $p]
+       if {$i < 0} {
+           puts "oops, parent $p of $id not in list"
+           continue
+       }
+       set x2 [xc $row2 $i]
+       if {$x2 > $rmx} {
+           set rmx $x2
+       }
        if {[info exists idrowranges($p)] &&
            $row2 == [lindex $idrowranges($p) 0] &&
            $row2 < [lindex $idrowranges($p) 1]} {
            # drawlineseg will do this one for us
            continue
        }
-       set i [lsearch -exact $ids $p]
-       if {$i < 0} {
-           puts "oops, parent $p of $id not in list"
-           continue
-       }
        assigncolor $p
        # should handle duplicated parents here...
        set coords [list $x $y]
@@ -1323,10 +1327,6 @@ proc drawparentlinks {id row col olds} {
        } elseif {$i > $col + 1} {
            lappend coords [xc $row [expr {$i - 1}]] $y
        }
-       set x2 [xc $row2 $i]
-       if {$x2 > $rmx} {
-           set rmx $x2
-       }
        lappend coords $x2 $y2
        set t [$canv create line $coords -width [linewidth $p] \
                   -fill $colormap($p) -tags lines.$p]