e302bb6915d4003f97dacfa9637e78dc0fb98303
kent
  Tue Jan 12 18:44:00 2021 -0800
Fixing logic error I recently introduced.  The checkbox by the log-transform on barCharts should behave better now.

diff --git src/hg/lib/barChartUi.c src/hg/lib/barChartUi.c
index 09fcee6..6e9e885 100644
--- src/hg/lib/barChartUi.c
+++ src/hg/lib/barChartUi.c
@@ -108,32 +108,34 @@
 slReverse(&all);
 makeGroupCheckboxes(name, NULL, all);
 puts("</tr></table>");
 char buf[512];
 safef(buf, sizeof(buf), "%s%s", cgiMultListShadowPrefix(), name);
 cgiMakeHiddenVar(buf, "0");
 }
 
 /* Convenience functions for hgTrackUi */
 
 boolean barChartIsLogTransformed(struct cart *cart, char *track, struct trackDb *tdb)
 /* Return TRUE if bar chart needs to be log transformed */
 {
 char cartVar[1024];
 safef(cartVar, sizeof(cartVar), "%s.%s", track, BAR_CHART_LOG_TRANSFORM);
+boolean isLog = TRUE;
 char *trans = trackDbSetting(tdb, "transformFunc");
-boolean isLog = sameWordOk(trans, "LOG");
+if (trans != NULL)
+    isLog = sameWord(trans, "LOG");
 return cartCgiUsualBoolean(cart, cartVar, isLog);
 }
 
 void barChartUiLogTransform(struct cart *cart, char *track, struct trackDb *tdb)
 /* Checkbox to select log-transformed RPKM values */
 /* NOTE: this code from gtexUi.c.  Consider sharing. */
 {
 char cartVar[1024];
 safef(cartVar, sizeof(cartVar), "%s.%s", track, BAR_CHART_LOG_TRANSFORM);
 puts("<b>Log10(x+1) transform:</b>\n");
 boolean isLogTransform = barChartIsLogTransformed(cart, track, tdb);
 cgiMakeCheckBoxWithId(cartVar, isLogTransform, cartVar);
 jsOnEventByIdF("change", cartVar, "barChartUiTransformChanged('%s');", track);
 }
 
@@ -153,36 +155,37 @@
 double barChartCurViewMax(struct cart *cart, char *trackName, struct trackDb *tdb)
 /* Look up max value to scale for this bar chart - consults both cart and trackDb defaults. */
 {
 char cartVar[1024];
 safef(cartVar, sizeof(cartVar), "%s.%s", trackName, BAR_CHART_MAX_VIEW_LIMIT);
 char *limitString = trackDbSettingOrDefault(tdb, BAR_CHART_LIMIT, "50");
 double limit = atof(limitString);
 if (limit <= 0) limit = 0.001;
 return cartCgiUsualDouble(cart, cartVar, limit);
 }
 
 void barChartUiViewLimits(struct cart *cart, char *track, struct trackDb *tdb)
 /* Set viewing limits if log transform not checked */
 /* NOTE: this code from gtexUi.c.  Consider sharing. */
 {
-char cartVar[1024];
 char buf[512];
 boolean isLogTransform = barChartIsLogTransformed(cart, track, tdb);
 safef(buf, sizeof buf, "%sViewLimitsMaxLabel %s", track, isLogTransform ? "disabled" : "");
 printf("<span class='%s'><b>View limits maximum:</b></span>\n", buf);
 double viewMax = barChartCurViewMax(cart, track, tdb);
+char cartVar[1024];
+safef(cartVar, sizeof(cartVar), "%s.%s", track, BAR_CHART_MAX_VIEW_LIMIT);
 cgiMakeDoubleVarWithExtra(cartVar, viewMax, 4, isLogTransform ? "disabled" : "");
 char *unit = trackDbSettingClosestToHomeOrDefault(tdb, BAR_CHART_UNIT, "");
 printf("<span class='%s'> %s (range 0-%d)</span>\n", buf, unit, 
                                 round(barChartUiMaxMedianScore(tdb)));
 }
 
 // TODO: libify
 static boolean isUrl(char *url)
 {
 return startsWith("http://", url)
    || startsWith("https://", url)
    || startsWith("ftp://", url);
 }
 
 static void getCategsFromSettings(char *track, char *labelSetting, char *colorSetting,