f441916bec96b3640c4a9c4af81202fc8e64599b
braney
  Fri May 24 17:19:40 2024 -0700
remove weird infinite loop when maxItems differs between composite
parent and child and composite parent has bigBed for a type

diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c
index 0b57929..c69493f 100644
--- src/hg/hgTracks/simpleTracks.c
+++ src/hg/hgTracks/simpleTracks.c
@@ -11560,31 +11560,31 @@
     if (tg->subtracks != NULL)
         {
         struct track *subtrack;
         int subCnt = subtrackCount(tg->subtracks);
         maxHeight = maxHeight * max(subCnt,1);
         //if (subCnt > 4)
         //    maxHeight *= 2; // NOTE: Large composites should suffer an additional restriction.
         if (!tg->syncChildVisToSelf)
             {
             for (subtrack = tg->subtracks;  subtrack != NULL; subtrack = subtrack->next)
                 limitVisibility(subtrack);
             }
         }
     if (canWiggle(tg))   // if this is a track type that can wiggle, we want to go straight to that rather than reduce visibility
         {
-        while  ((h = tg->totalHeight(tg, vis)) > maxHeight && vis != tvDense)
+        if ((h = tg->totalHeight(tg, vis)) > maxHeight && vis != tvDense)
             {
             tg->limitWiggle = TRUE;
             }
         if ( tg->limitWiggle)   // auto-density coverage is alway tvFull
             {
             if (tg->visibility == tvDense)
                 tg->visibility = tg->limitedVis = tvDense;
             else
                 tg->visibility = tg->limitedVis = tvFull;
             }
         else
             tg->limitedVis = vis;
         }
     else
         {