diff options
author | Paul Mackerras <paulus@samba.org> | 2005-06-27 13:38:29 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-06-27 13:38:29 +1000 |
commit | 8a0a74ad7764db655f07c464ce931cc233f550b5 (patch) | |
tree | f5b51cba2b2d68d03faf07550db14886fb4f5915 /gitk | |
parent | e2ede2b9f59e1bb95a4a862daf57cb47d97d0d8c (diff) | |
download | git-8a0a74ad7764db655f07c464ce931cc233f550b5.tar.gz |
Fix behaviour in the case where we have no commits to display.
I had code in there to put "No commits selected" on the canvas
but it needed some globals.
Diffstat (limited to 'gitk')
-rwxr-xr-x | gitk | 27 |
1 files changed, 17 insertions, 10 deletions
@@ -894,11 +894,11 @@ proc drawslants {} { } } -proc decidenext {} { +proc decidenext {{noread 0}} { global parents children nchildren ncleft todo global canv canv2 canv3 mainfont namefont canvx0 canvy linespc global datemode cdate - global lineid linehtag linentag linedtag commitinfo + global commitinfo global currentparents oldlevel oldnlines oldtodo global lineno lthickness @@ -916,6 +916,12 @@ proc decidenext {} { set p [lindex $todo $k] if {$ncleft($p) == 0} { if {$datemode} { + if {![info exists commitinfo($p)]} { + if {$noread} { + return {} + } + readcommit $p + } if {$latest == {} || $cdate($p) > $latest} { set level $k set latest $cdate($p) @@ -976,15 +982,16 @@ proc drawcommit {id} { lappend todo $id lappend startcommits $id } - set level [decidenext] - if {$id != [lindex $todo $level]} { + set level [decidenext 1] + if {$level == {} || $id != [lindex $todo $level]} { return } while 1 { drawslants drawcommitline $level if {[updatetodo $level $datemode]} { - set level [decidenext] + set level [decidenext 1] + if {$level == {}} break } set id [lindex $todo $level] if {![info exists commitlisted($id)]} { @@ -1001,18 +1008,18 @@ proc drawcommit {id} { proc finishcommits {} { global phase global startcommits - global ctext maincursor textcursor + global canv mainfont ctext maincursor textcursor if {$phase != "incrdraw"} { $canv delete all $canv create text 3 3 -anchor nw -text "No commits selected" \ -font $mainfont -tags textitems set phase {} - return + } else { + drawslants + set level [decidenext] + drawrest $level [llength $startcommits] } - drawslants - set level [decidenext] - drawrest $level [llength $startcommits] . config -cursor $maincursor $ctext config -cursor $textcursor } |