27612a60c0f8c1aefbe6ca7afcdf0c2deb73b98f
angie
  Fri Mar 15 13:29:04 2019 -0700
Missing NULL check -- caused SEGV for next/prev item of custom tracks, for which hTrackDb() returns NULL.  (hgwdev-only, introduced Feb. 28th)

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 9bf9096..9147990 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -5775,31 +5775,31 @@
         slAddHead(pTrackList, track);
     }
 }
 
 void loadFromTrackDb(struct track **pTrackList)
 /* Load tracks from database, consulting handler list. */
 {
 char *trackNameFilter = cartOptionalString(cart, "hgt.trackNameFilter");
 struct trackDb *tdbList;
 if(trackNameFilter == NULL)
     tdbList = hTrackDb(database);
 else
     {
     tdbList = hTrackDbForTrack(database, trackNameFilter);
 
-    if (tdbList->parent)        // we want to give the composite parent a chance to load and set options
+    if (tdbList && tdbList->parent)        // we want to give the composite parent a chance to load and set options
         {
         while(tdbList->parent)
             {
             if (tdbList->parent->subtracks == NULL)     // we don't want to go up to a supertrack
                 break;
             tdbList = tdbList->parent;
             }
         trackNameFilter = tdbList->track;
         }
     }
 addTdbListToTrackList(tdbList, trackNameFilter, pTrackList);
 }
 
 static int getScoreFilter(char *trackName)
 /* check for score filter configuration setting */