8d70c954c12f93446dbb76b06a99297a8ce06647
max
  Mon Sep 23 04:49:55 2024 -0700
fixing amino acid display is always on, even for very large regions, if the user has set the option to always show them, refs #34481

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index a7fe709..614a35b 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -4956,31 +4956,31 @@
     sliceWidth[stData]   = tl.picWidth - (sliceWidth[stSide] + sliceWidth[stButton]);
     }
 struct flatTracks *flatTracks = NULL;
 struct flatTracks *flatTrack = NULL;
 
 // There are two ways to get the amino acids to show up:
 // 1) either by setting the ruler track viz to full
 // 2) or by checking the box on the ruler track's trackUi page.
 // Any selection on the trackUi page takes precedence. 
 if (rulerMode != tvFull)
     {
     rulerCds = FALSE;
     }
 
 // the code below will only use the checkbox on trackUi if a setting on the trackUi page has been made. 
-if (cartVarExists(cart, BASE_SHOWCODONS))
+if (cartVarExists(cart, BASE_SHOWCODONS) && zoomedToCdsColorLevel)
     rulerCds = cartUsualBoolean(cart, BASE_SHOWCODONS, TRUE);
 
 /* Figure out height of each visible track. */
 pixHeight = gfxBorder;
 
 // figure out height of ruler
 if (rulerMode != tvHide)
     {
     if (!baseShowRuler && !baseTitle && !baseShowPos && !baseShowAsm && !baseShowScaleBar && !zoomedToBaseLevel && !rulerCds)
         {
         warn("Can't turn everything off in base position track.  Turning ruler back on");
         baseShowRuler = TRUE;
         cartSetBoolean(cart, BASE_SHOWRULER, TRUE);
         }