b2812fcbf6e3194970e934e71c5c815b1c9c2075
tdreszer
  Mon Nov 14 15:30:33 2011 -0800
Redmine 5992.  This is the targetted conservative fix to hgTracks.c.  Please make a patch from the difference between this and the previos hgTracks.c check-in
diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 6230031..6ce6ace 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -172,31 +172,33 @@
     else if (track->subtracks != NULL)
         {
         struct track *st = trackFindByName(track->subtracks, trackName);
         if (st != NULL)
             return st;
         }
     }
 return NULL;
 }
 
 int tgCmpPriority(const void *va, const void *vb)
 /* Compare to sort based on priority; use shortLabel as secondary sort key. */
 {
 const struct track *a = *((struct track **)va);
 const struct track *b = *((struct track **)vb);
-float dif = a->group->priority - b->group->priority;
+float dif = 0;
+if (a->group && b->group)
+    dif = a->group->priority - b->group->priority;
 
 if (dif == 0)
     dif = a->priority - b->priority;
 if (dif < 0)
    return -1;
 else if (dif == 0.0)
     /* secondary sort on label */
     return strcasecmp(a->shortLabel, b->shortLabel);
 else
    return 1;
 }
 
 int trackRefCmpPriority(const void *va, const void *vb)
 /* Compare based on priority. */
 {