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. */