ffbd8443f24124c3023126cccebd1d09efae07de braney Wed Nov 27 10:36:22 2019 -0800 a little clean-up for safety's sake diff --git src/hg/lib/hui.c src/hg/lib/hui.c index d3a6e9e..f96422b 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -7601,31 +7601,30 @@ enum trackVisibility visCompositeViewDefault(struct trackDb *parentTdb,char *view) // returns the default track visibility of particular view within a composite track { char *visibility = NULL; compositeViewCfgExpandedByDefault(parentTdb,view,&visibility); enum trackVisibility vis = hTvFromString(visibility); freeMem(visibility); return vis; } static boolean hCompositeDisplayViewDropDowns(char *db, struct cart *cart, struct trackDb *parentTdb) // UI for composite view drop down selections. { int ix; -char varName[SMALLBUF]; char classes[SMALLBUF]; char javascript[JBUFSIZE]; char id[256]; #define CFG_LINK "<B><A HREF=\"#a_cfg_%s\" id='%s' "\ "title=\"%s Configuration\">%s ▾</A><INPUT TYPE=HIDDEN " \ "NAME='%s.showCfg' value='%s'></B>" #define CFG_LINK_JS "return (showConfigControls('%s') == false);" #define MAKE_CFG_LINK(name,title,viewTrack,open) \ safef(id, sizeof id, "%s_link", (name)); \ printf(CFG_LINK, (name),id,(title),(title),(viewTrack),((open)?"on":"off")); \ safef(javascript, sizeof javascript, CFG_LINK_JS, (name)); \ jsOnEventById("click", id, javascript); // membersForAll is generated once per track, then cached @@ -7643,59 +7642,59 @@ for (ix = 0; ix < membersOfView->count; ix++) { if (membersOfView->subtrackList != NULL && membersOfView->subtrackList[ix] != NULL) { struct trackDb *subtrack = membersOfView->subtrackList[ix]->val; matchedViewTracks[ix] = subtrack->parent; configurable[ix] = (char)cfgTypeFromTdb(subtrack, TRUE); if (configurable[ix] != cfgNone && trackDbSettingBlocksConfiguration(subtrack,FALSE)) configurable[ix] = cfgNone; if (configurable[ix] != cfgNone) { if (firstOpened == -1) { - safef(varName, sizeof(varName), "%s.showCfg", matchedViewTracks[ix]->track); if (cartOrTdbBoolean(cart, matchedViewTracks[ix], "showCfg", FALSE)) firstOpened = ix; } makeCfgRows = TRUE; } } } toLowerN(membersOfView->groupTitle, 1); printf("<B>Select %s</B> (<A HREF='../goldenPath/help/multiView.html' title='Help on views' " "TARGET=_BLANK>help</A>):\n", membersOfView->groupTitle); printf("<TABLE><TR style='text-align:left;'>\n"); // Make row of vis drop downs for (ix = 0; ix < membersOfView->count; ix++) { char *viewName = membersOfView->tags[ix]; if (matchedViewTracks[ix] != NULL) { printf("<TD>"); if (configurable[ix] != cfgNone) { MAKE_CFG_LINK(membersOfView->tags[ix],membersOfView->titles[ix], matchedViewTracks[ix]->track,(firstOpened == ix)) } else printf("<B>%s</B>",membersOfView->titles[ix]); puts("</TD>"); + char varName[SMALLBUF]; safef(varName, sizeof(varName), "%s", matchedViewTracks[ix]->track); enum trackVisibility tv = hTvFromString(cartUsualString(cart,varName, hStringFromTv(visCompositeViewDefault(parentTdb,viewName)))); struct slPair *events = NULL; safef(javascript, sizeof(javascript), "matSelectViewForSubTracks(this,'%s');", viewName); slPairAdd(&events, "change", cloneString(javascript)); safef(javascript, sizeof(javascript), "this.lastIndex=this.selectedIndex;"); slPairAdd(&events, "focus", cloneString(javascript)); printf("<TD>"); safef(classes, sizeof(classes), "viewDD normalText %s", membersOfView->tags[ix]); hTvDropDownClassWithJavascript(varName, NULL, tv, parentTdb->canPack, classes, events); puts(" </TD>");