e91fa7d8dfaaf6ae2311ffc52b370fab6827314a
kate
  Wed Jun 5 14:55:59 2019 -0700
Allow spec'ing a trackDb field as not inherited from supertrack. To replace 'pennantIcon none' construct, as per discussion with QA. refs #23403

diff --git src/hg/lib/hdb.c src/hg/lib/hdb.c
index 806341b..ebcd09f 100644
--- src/hg/lib/hdb.c
+++ src/hg/lib/hdb.c
@@ -3933,31 +3933,31 @@
 subtrackTdb->parentName = compositeTdb->track;
 if (!trackDbSettingClosestToHome(subtrackTdb, "noInherit"))
     {
     if (isEmpty(subtrackTdb->type))
         subtrackTdb->type = cloneString(compositeTdb->type);
     subtrackTdb->grp = cloneString(compositeTdb->grp);
 
     /* inherit items in parent's settings hash that aren't
      * overriden in subtrack */
     trackDbHashSettings(subtrackTdb);
     trackDbHashSettings(compositeTdb);
     struct hashEl *hel;
     struct hashCookie hc = hashFirst(compositeTdb->settingsHash);
     while ((hel = hashNext(&hc)) != NULL)
 	{
-	if (!hashLookup(subtrackTdb->settingsHash, hel->name))
+	if (!hashLookup(subtrackTdb->settingsHash, hel->name) && !trackDbNoInheritField(hel->name))
 	    hashAdd(subtrackTdb->settingsHash, hel->name, hel->val);
 	}
     }
 }
 
 static void rInheritFields(struct trackDb *tdbList)
 /* Go through list inheriting fields from parent if possible, and invoking self on children. */
 {
 struct trackDb *tdb;
 for (tdb = tdbList; tdb != NULL; tdb = tdb->next)
     {
     if (tdb->parent != NULL)
         {
 	if (tdbIsSuperTrack(tdb->parent))
 	    /* Do supertrack-specific inheritance. */