3d00d8348e1cb6eafec60cc3d7321f6de7e669be
braney
  Mon Dec 12 13:09:49 2022 -0800
be smarter about showing the user error messages

diff --git src/hg/inc/grp.h src/hg/inc/grp.h
index 96d23fe..3d5b9c1 100644
--- src/hg/inc/grp.h
+++ src/hg/inc/grp.h
@@ -4,30 +4,31 @@
 
 /* Copyright (C) 2008 The Regents of the University of California 
  * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */
 
 #ifndef GRP_H
 #define GRP_H
 
 struct grp
 /* This describes a group of annotation tracks. */
     {
     struct grp *next;  /* Next in singly linked list. */
     char *name;	/* Group name.  Connects with trackDb.grp */
     char *label;	/* Label to display to user */
     float priority;	/* 0 is top */
     boolean defaultIsClosed; /* true if group is closed by default in hgTracks (this column is optional, and may be missing in some installations. */
+    char *errMessage;   /* if non-NULL contains an error message for the group. */
     };
 
 void grpStaticLoad(char **row, struct grp *ret);
 /* Load a row from grp table into ret.  The contents of ret will
  * be replaced at the next call to this function. */
 
 struct grp *grpLoadAll(char *fileName);
 /* Load all grp from a tab-separated file.
  * Dispose of this with grpFreeList(). */
 
 struct grp *grpCommaIn(char **pS, struct grp *ret);
 /* Create a grp out of a comma separated string. 
  * This will fill in ret if non-null, otherwise will
  * return a new grp */