aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2006-04-17 10:27:59 +1000
committerPaul Mackerras <paulus@samba.org>2006-04-17 10:27:59 +1000
commite7da347520486ce33bb77d241b574787c0ec18e8 (patch)
treef25fca83a19468e17e830b1bffc8d1d3445458da
parentc5a4c4debec43ff98053cb6b69d35d63e45ee131 (diff)
downloadgit-e7da347520486ce33bb77d241b574787c0ec18e8.tar.gz
git-e7da347520486ce33bb77d241b574787c0ec18e8.tar.xz
gitk: Fix bug caused by missing commitlisted elements
This bug was reported by Yann Dirson, and results in an 'Error: expected boolean value but got ""' dialog when scrolling to the bottom of the graph under some circumstances. The issue is that git-rev-list isn't outputting all the boundary commits when it is asked for commits affecting only certain files. We already cope with that by adding the missing boundary commits in addextraid, but there we weren't adding a 0 to the end of the commitlisted list when we added the extra id to the end of the displayorder list. This fixes it by appending 0 to commitlisted in addextraid, thus keeping commitlisted and displayorder in sync. Signed-off-by: Paul Mackerras <paulus@samba.org>
-rwxr-xr-xgitk5
1 files changed, 3 insertions, 2 deletions
diff --git a/gitk b/gitk
index f88c06e56..87e71629a 100755
--- a/gitk
+++ b/gitk
@@ -1116,11 +1116,12 @@ proc layoutrows {row endrow last} {
proc addextraid {id row} {
global displayorder commitrow commitinfo
- global commitidx
+ global commitidx commitlisted
global parentlist childlist children
incr commitidx
lappend displayorder $id
+ lappend commitlisted 0
lappend parentlist {}
set commitrow($id) $row
readcommit $id
@@ -1500,7 +1501,7 @@ proc drawcmittext {id row col rmx} {
proc drawcmitrow {row} {
global displayorder rowidlist
global idrowranges idrangedrawn iddrawn
- global commitinfo commitlisted parentlist numcommits
+ global commitinfo parentlist numcommits
if {$row >= $numcommits} return
foreach id [lindex $rowidlist $row] {