d9979532689e2d49aa15e6062458617878551a87
braney
  Sat May 20 18:50:32 2017 -0700
changes in response to code review

diff --git src/hg/hgComposite/hgComposite.c src/hg/hgComposite/hgComposite.c
index a050079..32658c4 100644
--- src/hg/hgComposite/hgComposite.c
+++ src/hg/hgComposite/hgComposite.c
@@ -169,40 +169,40 @@
     struct trackDb *tdb, *tdbNext;
     struct composite *composite = NULL;
     struct track *track = NULL;
 
     for(tdb = tdbList; tdb; tdb = tdbNext)
         {
         hashAdd(nameHash, tdb->track, tdb);
         tdbNext = tdb->next;
         trackDbFieldsFromSettings(tdb);
         if (trackDbSetting(tdb, "compositeTrack"))
             {
             AllocVar(composite);
             slAddHead(&compositeList, composite);
             composite->name = tdb->track;
             composite->shortLabel = tdb->shortLabel;
-            composite->longLabel = tdb->shortLabel;
+            composite->longLabel = tdb->longLabel;
             }
         else
             {
             if (composite == NULL)
                 errAbort("track not in composite");
             AllocVar(track);
             track->name = tdb->track;
             track->shortLabel = tdb->shortLabel;
-            track->longLabel = tdb->shortLabel;
+            track->longLabel = tdb->longLabel;
             slAddHead(&composite->trackList, track);
             }
         }
     }
 
 return compositeList;
 }
 
 static char *getSqlBigWig(struct sqlConnection *conn, char *db, struct trackDb *tdb)
 {
 char buffer[4096];
 
 safef(buffer, sizeof buffer, "NOSQLINJ select fileName from %s", tdb->table);
 return sqlQuickString(conn, buffer);
 }
@@ -317,30 +317,31 @@
     {
     outComposite(f, composite);
     struct trackDb *tdb;
     struct track *track;
     for (track = composite->trackList; track; track = track->next)
         {
         tdb = hashMustFindVal(nameHash, track->name);
 
         outTdb(conn, db, f, track->name,tdb, composite->name, snakePalette2[useColor]);
         useColor++;
         if (useColor == (sizeof snakePalette2 / sizeof(int)))
             useColor = 0;
         }
     }
 fclose(f);
+hFreeConn(&conn);
 }
 
 
 void topLabelSpansStart(char *label)
 {
 printf("<span style='display: inline-block; padding-right: 5px;'>"
        "<span style='display: block;'>%s</span>\n"
        "<span style='display: block; padding-bottom: 5px;'>\n", label);
 }
 
 void topLabelSpansEnd()
 {
 printf("</span></span>");
 }
 
@@ -733,31 +734,31 @@
 }
 
 static bool subtrackEnabledInTdb(struct trackDb *subTdb)
 /* Return TRUE unless the subtrack was declared with "subTrack ... off". */
 {
 bool enabled = TRUE;
 char *words[2];
 char *setting;
 if ((setting = trackDbLocalSetting(subTdb, "parent")) != NULL)
     {
     if (chopLine(cloneString(setting), words) >= 2)
         if (sameString(words[1], "off"))
             enabled = FALSE;
     }
 else
-    return subTdb->visibility != 0;
+    return subTdb->visibility != tvHide;
 
 return enabled;
 }
 
 bool isSubtrackVisible(struct trackDb *tdb)
 /* Has this subtrack not been deselected in hgTrackUi or declared with
  *  * "subTrack ... off"?  -- assumes composite track is visible. */
 {
 boolean overrideComposite = (NULL != cartOptionalString(cart, tdb->track));
 bool enabledInTdb = subtrackEnabledInTdb(tdb);
 char option[1024];
 safef(option, sizeof(option), "%s_sel", tdb->track);
 boolean enabled = cartUsualBoolean(cart, option, enabledInTdb);
 if (overrideComposite)
     enabled = TRUE;