706e531073a5d75568667727f0f995c28d964612
braney
  Fri Sep 27 11:48:47 2024 -0700
add a warning message if exceed 32k and went into density coverage for
all bed tracks

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index e521c83..bd339bc 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -5150,30 +5150,33 @@
 
 // check total height
 #define MAXSAFEHEIGHT "maxTrackImageHeightPx"
 int maxSafeHeight = atoi(cfgOptionDefault(MAXSAFEHEIGHT, "32000"));
 boolean safeHeight = TRUE;
 struct trackRef *pfRef;
 int tmpPixHeight = pixHeight;
 for(pfRef = preFlatTracks; pfRef; pfRef = pfRef->next)
     {
     struct track *pf = pfRef->track;
     int totalHeight = tmpPixHeight+trackPlusLabelHeight(pf,fontHeight);
     if (totalHeight > maxSafeHeight)
         {
         if (!forceWiggle)
             {
+            char buffer[1024];
+            sprintLongWithCommas(buffer, totalHeight);
+            warn("Image was over 32,000 pixels high (%s pix). All bed tracks are now displayed as density graphs. Zoom in to restore previous display modes.", buffer);
             forceWiggle = TRUE;
             goto retry;
             }
         char numBuf[SMALLBUF];
         sprintLongWithCommas(numBuf, maxSafeHeight);
         if (safeHeight)  // Only one message
             warn("Image is over %s pixels high (%d pix) at the following track which is now "
                  "hidden:<BR>\"%s\".%s", numBuf, totalHeight, pf->tdb->longLabel,
                  (pf->next != NULL ?
                       "\nAdditional tracks may have also been hidden at this zoom level." : ""));
         safeHeight = FALSE;
 	struct track *winTrack;
 	for(winTrack=pf;winTrack;winTrack=winTrack->nextWindow)
 	    {
 	    pf->limitedVis = tvHide;