ff1cf1f79afe9d6d19b4aa8e609b907868d2feed
braney
  Tue Nov 8 16:38:58 2022 -0800
don't assume there will be a current track in hgTables

diff --git src/hg/hgTables/hgTables.c src/hg/hgTables/hgTables.c
index 1417934..dbab894 100644
--- src/hg/hgTables/hgTables.c
+++ src/hg/hgTables/hgTables.c
@@ -764,31 +764,35 @@
 if (track == NULL)
     {
     if (isCustomTrack(name))
         errAbort("Can't find custom track %s. "
 	         "If it's been 8 hours since you accessed this track you "
 		 "may just need to upload it again.", name);
     else
 	errAbort("Track %s doesn't exist in database %s.", name, database);
     }
 return track;
 }
 
 static char *undupedTrackName(struct cart *cart, char *varName)
 /* Return cartString for varName after removing any dup_N_ prefixes */
 {
-char *s = cartString(cart, varName);
+char *s = cartOptionalString(cart, varName);
+
+if (s == NULL)
+    return NULL;
+
 return dupTrackSkipToSourceName(s);
 }
 
 struct trackDb *findSelectedTrack(struct trackDb *trackList,
 	struct grp *group, char *varName)
 /* Find selected track - from CGI variable if possible, else
  * via various defaults. */
 {
 char *name = undupedTrackName(cart, varName);
 struct trackDb *track = NULL;
 
 if (name != NULL)
     {
     track = findTrackInGroup(name, trackList, group);
     }