6755fa51ff1f0cb330fc3e5096f2f0ec13814ebc
braney
  Mon Apr 25 15:12:24 2022 -0700
allow '#' in chrom names

diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c
index 30717d9..f035b2c 100644
--- src/hg/hgTracks/simpleTracks.c
+++ src/hg/hgTracks/simpleTracks.c
@@ -1152,31 +1152,31 @@
     char *encodedTrack = cgiEncode(track);
     if (theImgBox && curImgTrack)
         {
         char link[2000];
         if (directUrl)
             {
             safef(link,sizeof(link),directUrl, item, chromName, start, end, encodedTrack, database);
             if (withHgsid)
                 safef(link+strlen(link),sizeof(link)-strlen(link),"&%s", cartSidUrlString(cart));
             }
         else
             {
 	    // NOTE: chopped out winStart/winEnd
 	    // NOTE: Galt added winStart/winEnd back in for multi-region
             safef(link,sizeof(link),"%s&db=%s&c=%s&l=%d&r=%d&o=%d&t=%d&g=%s&i=%s",
-                hgcNameAndSettings(), database, chromName, winStart, winEnd, start, end, encodedTrack, encodedItem);
+                hgcNameAndSettings(), database, cgiEncode(chromName), winStart, winEnd, start, end, encodedTrack, encodedItem);
             }
         if (extra != NULL)
             safef(link+strlen(link),sizeof(link)-strlen(link),"&%s", extra);
         // Add map item to current map (TODO: pass in map)
         #ifdef IMAGEv2_SHORT_MAPITEMS
         if (!revCmplDisp && x < insideX && xEnd > insideX)
             x = insideX;
         else if (revCmplDisp && x < insideWidth && xEnd > insideWidth)
             xEnd = insideWidth - 1;
         #endif//def IMAGEv2_SHORT_MAPITEMS
         imgTrackAddMapItem(curImgTrack,link,(char *)(statusLine!=NULL?statusLine:NULL),
                            x, y, xEnd, yEnd, track);
         }
     else
         {