Commits

Anonymous committed a69b2d1

gitk: Fix bug causing Tcl error when updating graph

If "Show nearby tags" is turned off, selecting "Update" from the File
menu will cause a Tcl error. This fixes it. The problem was that
we were calling regetallcommits unconditionally, but it assumed that
getallcommits had been called previously. This also restructures
{re,}getallcommits to be a bit simpler.

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

  • Participants
  • Parent commits 7b459a1

Comments (0)

Files changed (1)

 
 proc updatecommits {} {
     global viewdata curview phase displayorder
-    global children commitrow selectedline thickerline
+    global children commitrow selectedline thickerline showneartags
 
     if {$phase ne {}} {
 	stop_rev_list
     catch {unset viewdata($n)}
     readrefs
     changedrefs
-    regetallcommits
+    if {$showneartags} {
+	getallcommits
+    }
     showview $n
 }
 
 proc getallcommits {} {
     global allcommits allids nbmp nextarc seeds
 
-    set allids {}
-    set nbmp 0
-    set nextarc 0
-    set allcommits 0
-    set seeds {}
-    regetallcommits
-}
-
-# Called when the graph might have changed
-proc regetallcommits {} {
-    global allcommits seeds
+    if {![info exists allcommits]} {
+	set allids {}
+	set nbmp 0
+	set nextarc 0
+	set allcommits 0
+	set seeds {}
+    }
 
     set cmd [concat | git rev-list --all --parents]
     foreach id $seeds {